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

时间:2013-11-29 18:38:01

标签: 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);

我也尝试过不同的选项,但我无法让它发挥作用。

帮助?

1 个答案:

答案 0 :(得分:29)

documentation of this function已经告诉我们:

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);