这个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
提交
取消