這個java方法在讀取文件后是否關閉輸入流?Files.readAllBytes(Paths.get("文件"))
1 回答

揚帆大魚
TA貢獻1799條經驗 獲得超9個贊
是的,它關閉了。請參閱javadoc。
從文件中讀取所有字節。該方法確保在讀取所有字節或引發 I/O 錯誤或其他運行時異常時關閉文件。
請注意,此方法適用于可以方便地將所有字節讀入字節數組的簡單情況。它不適合讀取大文件。
public static byte[] readAllBytes(Path path) throws IOException {
? ? try (SeekableByteChannel sbc = Files.newByteChannel(path);
? ? ? ? ?InputStream in = Channels.newInputStream(sbc)) {
? ? ? ? long size = sbc.size();
? ? ? ? if (size > (long)MAX_BUFFER_SIZE)
? ? ? ? ? ? throw new OutOfMemoryError("Required array size too large");
? ? ? ? return read(in, (int)size);
? ? }
}
添加回答
舉報
0/150
提交
取消