使用Java 7中的Files.newBufferedWriter创建新文件或覆盖现有文件

dim*_*uta 13 java file java-7

我正在尝试Java 7中的新Files.newBufferedWriter,我无法得到一个例子:我想创建一个新文件,如果它不存在或覆盖它,如果它.

我所做的是:

OpenOption[] options = {StandardOpenOption.CREATE_NEW, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING};
BufferedWriter writer = Files.newBufferedWriter(Paths.get("example.txt"), StandardCharsets.UTF_8, options);
Run Code Online (Sandbox Code Playgroud)

我也尝试了不同的选择,但我无法让它工作.

救命?

Sag*_*age 29

功能文档已经告诉我们:

newBufferedWriter(Path path, Charset cs, OpenOption... options)

options参数指定如何创建或打开文件.如果没有选项,则此方法的工作方式就像CREATE, TRUNCATE_EXISTING, and WRITE存在选项一样.换句话说,它打开文件进行写入,如果文件不存在则创建文件,或者最初将现有常规文件截断为大小为0(如果存在).

所以你可以不通过一个选项:

BufferedWriter writer = Files.newBufferedWriter(Paths.get("example.txt"), 
                                                StandardCharsets.UTF_8);
Run Code Online (Sandbox Code Playgroud)