gpt4 book ai didi

java - PrintWriter 和 FileWriter 类之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:46:55 25 4
gpt4 key购买 nike

try{

File file = new File("write.txt");
FileWriter writer = new FileWriter(file);

PrintWriter printWriter = new PrintWriter(writer);
printWriter.println("pqr");
printWriter.println("jkl");
printWriter.close();

PrintWriter printWriter = new PrintWriter(file);
printWriter.println("abc");
printWriter.println("xyz");
printWriter.close();
}

我不明白这两种方式有什么区别。在什么情况下我应该使用 printWriter 和 fileWriter。

最佳答案

虽然这两者在内部都使用 FileOutputStream ,但主要区别在于 PrintWriter 提供了一些额外的格式化方法,如 println 和 printf。

代码片段:

public PrintWriter(File file) throws FileNotFoundException {
this(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))),
false);
}


public FileWriter(File file) throws IOException {
super(new FileOutputStream(file));
}

主要区别:

  1. FileWriter 在任何 IO 失败的情况下抛出 IOException。
  2. 所有 PrintWriter 方法都不会抛出 IOException,而是设置一个 boolean 标志,该标志可以使用 checkError() 获得。
  3. PrintWriter 在创建时带有一个自动刷新选项(默认没有自动刷新),它会在写入每个字节的数据后刷新。在 FileWriter 的情况下,调用者必须注意调用刷新。

关于java - PrintWriter 和 FileWriter 类之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14067843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com