1 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
是的,它關(guān)閉了。請(qǐng)參閱javadoc。
從文件中讀取所有字節(jié)。該方法確保在讀取所有字節(jié)或引發(fā) I/O 錯(cuò)誤或其他運(yùn)行時(shí)異常時(shí)關(guān)閉文件。
請(qǐng)注意,此方法適用于可以方便地將所有字節(jié)讀入字節(jié)數(shù)組的簡(jiǎn)單情況。它不適合讀取大文件。
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);
? ? }
}
添加回答
舉報(bào)