如何关闭 Files.write

dea*_*end 4 java io nio

我要尝试创建目录并将数据写入该文件。我正在尝试使用 java nio 更有效地编写文件。我的疑问是如何在下面写下它之后关闭它是我的代码。请给我建议。

这是创建目录和写入大型数据文件的正确方法 [200 kb]。

    java.nio.file.Path path = java.nio.file.Paths.get(filePath);

    try {
        if (!java.nio.file.Files.exists(path)) {
            java.nio.file.Files.createDirectories(path.getParent());
            path = java.nio.file.Files.createFile(path);
            path = java.nio.file.Files.write(path, data.getBytes());
        } else {
            java.nio.file.Files.write(path, data.getBytes("utf-8"), 
                    java.nio.file.StandardOpenOption.CREATE, java.nio.file.StandardOpenOption.TRUNCATE_EXISTING);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
    }
Run Code Online (Sandbox Code Playgroud)

Ume*_*wte 5

  1. 关闭文件

您不必关闭它,因为写入方法本身确保在写入最后一个字节后该文件将被关闭。

根据Files.write()方法的描述。

将字节写入文件。options 参数指定文件的创建或打开方式。如果不存在任何选项,则此方法就像存在 CREATE、TRUNCATE_EXISTING 和 WRITE 选项一样工作。换句话说,它打开文件进行写入,如果文件不存在则创建文件,或者最初将现有的常规文件截断到大小为 0。字节数组中的所有字节都写入文件。该方法确保在写入所有字节(或抛出 I/O 错误或其他运行时异常)时关闭文件。如果发生 I/O 错误,那么它可能会在文件创建或截断之后,或者在将某些字节写入文件之后发生。

  1. 创建目录和写入大数据文件的正确方法。

只要您处理所有异常条件就可以了。