为了账号安全,请及时绑定邮箱和手机立即绑定

Files.readAllBytes() 读取文件后是否关闭输入流?

Files.readAllBytes() 读取文件后是否关闭输入流?

陪伴而非守候 2023-12-13 14:32:40
这个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);

    }

}


查看完整回答
反对 回复 2023-12-13
  • 1 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信