【发布时间】:2020-06-24 04:38:07
【问题描述】:
这两者有什么区别?
Path path = FileSystems.getDefault().getPath("file.txt");
BufferedWriter bw = Files.newBufferedWriter(path);
和
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("file.txt"));
这两种方法哪个更好?
【问题讨论】:
-
我相信没有真正的区别,尽管第一个在非常旧的 Java 版本中不可用(也看看Path.of(与
FileSystems解决方案相同)) -
我会冒险并声明第二个更好,因为更简单。使用第一个的唯一真正原因是,如果您想写入像 ZIP 文件这样的奇怪文件系统。
-
@user207421 用
Path.of("file.txt")替换第一行并在第二行内联-两者都同样简单恕我直言(但可能我也会使用第二行(更习惯了)) -
@user85421 我说的是“更简单全面”。这不仅仅包括一行用户代码:它包括底层实现,尤其是目标文件的数据路径。
标签: java java-io bufferedwriter