当前位置: 首页 > 面试题库 >

Java中的PrintWriter与FileWriter

於炯
2023-03-14
问题内容

Java中的PrintWriter和FileWriter是否相同,并且无论使用哪个?到目前为止,我都使用了这两种方法,因为它们的结果相同。在某些特殊情况下,优先选择一个而不是另一个吗?

public static void main(String[] args) {

    File fpw = new File("printwriter.txt");
    File fwp = new File("filewriter.txt");
    try {
        PrintWriter pw = new PrintWriter(fpw);
        FileWriter fw = new FileWriter(fwp);
        pw.write("printwriter text\r\n");
        fw.write("filewriter text\r\n");
        pw.close();
        fw.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

问题答案:

根据coderanch.com的说法,如果我们将答案结合在一起,则会得到:

FileWriter是IO的字符表示。这意味着它可以用来写字符。在内部,FileWriter将使用基础操作系统的默认字符集,并将字符转换为字节,然后将其写入磁盘。

PrintWriter和FileWriter。

相似之处

  1. 两者都从Writer扩展。
  2. 两者都是字符表示类,这意味着它们可以处理字符,并使用默认字符集将其转换为字节。

差异性

  1. 如果发生任何IO故障,FileWriter会引发IOException,这是一个已检查的异常
  2. 没有一个PrintWriter方法抛出IOExceptions,而是设置了一个布尔标志,可以使用checkError()获得该标志。
  3. PrintWriter具有一个可选的构造函数,您可以在调用特定方法时使用它来启用自动刷新。FileWriter中不存在此类选项。
  4. 写入文件时,FileWriter具有可选的构造函数,该构造函数允许在调用“ write()”方法时将其附加到现有文件中。

PrintStream和OutputStream之间的区别:与上面的解释类似,只是将字符替换为字节。

PrintWriter具有以下方法:

close()
flush()
format()
printf()
print()
println()
write()

和构造函数是:

File (as of Java 5)
String (as of Java 5)
OutputStream
Writer

而FileWriter具有以下方法:

close()
flush()
write()

和构造函数是:

File
String

链接:http://www.coderanch.com/t/418148/java-programmer-
SCJP/certification/Information-PrintWriter-
FileWriter



 类似资料:
  • 主要内容:1 什么是Java PrintWriter,2 Java PrintWriter的语法,3 Java PrintWriter的方法,4 Java PrintWriter的例子1 什么是Java PrintWriter Java PrintWriter类是Writer类的实现。它用于将格式化的对象表示形式打印到文本输出流。 2 Java PrintWriter的语法 3 Java PrintWriter的方法 方法 描述 PrintWriter append(char c) 输出指定的布

  • 本文向大家介绍Java PrintWriter checkError()方法与示例,包括了Java PrintWriter checkError()方法与示例的使用技巧和注意事项,需要的朋友参考一下 PrintWriter类方法 checkError()方法在java.io包中可用。 checkError()方法用于检查此流的错误状态,并在未关闭时刷新该流。 checkError()方法是一个非静

  • 本文向大家介绍Java PrintWriter close()方法与示例,包括了Java PrintWriter close()方法与示例的使用技巧和注意事项,需要的朋友参考一下 PrintWriter类方法 close()方法在java.io包中可用。 close()方法用于关闭此流并释放与该流链接的所有系统资源。 close()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该

  • 本文向大家介绍Java PrintWriter flush()方法与示例,包括了Java PrintWriter flush()方法与示例的使用技巧和注意事项,需要的朋友参考一下 PrintWriter类方法 flush()方法在java.io包中可用。 flush()方法用于刷新此流。 flush()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。 fl

  • 在这种情况下,优化sockets java中的perfomance,使用sockets是BufferedWriter还是PrintWriter更好?

  • 问题内容: Java类中的和方法之间有什么区别? 问题答案: print()格式化输出,而write()仅打印给出的字符。print()处理许多参数类型,使用String.valueOf()将它们转换为可打印的字符串,而write()仅处理单个字符,字符数组和字符串。 为了说明区别,write(int)将参数解释为要打印的单个字符,而print(int)则将整数转换为字符串。write(49)打印