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

FileWrite BufferedWriter和PrintWriter结合

卫诚
2023-03-14
问题内容

好的,所以我正在学习I /
O,并且在其中一张幻灯片中找到了以下代码。有人可以解释一下为什么需要FileWrite,BufferedWriter和PrintWriter吗?我知道BufferedWriter将缓冲输出并将其全部放入,但是为什么他们要使用FileWriter和PrintWriter?他们在错误处理等方面做得差不多吗?

而且为什么他们传递bwPrintWriter

      FileWriter fw = new FileWriter (file);
      BufferedWriter bw = new BufferedWriter (fw);
      PrintWriter outFile = new PrintWriter (bw);

问题答案:

大概他们之所以使用a是FileWriter因为他们想写入文件。双方BufferedWriterPrintWriter必须得到另一位作家写-
你需要 一些 最终目的地。

(我个人不喜欢,FileWriter因为它不允许您指定编码。我更喜欢使用FileOutputStream包裹在中OutputStreamWriter,但这是另一回事。)

BufferedWriter如您所说,它用于缓冲-尽管它不缓冲 所有 输出,但只是固定数量的输出(缓冲的大小)。它会向底层作者创建“
chunkier”写入。

至于-
well的用法PrintWriter,它公开了一些额外的方法,例如println。我个人不喜欢它,因为它会吞下异常(您必须使用进行显式检查checkError,但仍然无法提供详细信息,而且我认为我
从未 见过使用过它),但这又取决于您在做什么。该PrintWriter传递的BufferedWriter它的 目的地。

因此,您所显示的部分下面的代码可能PrintWriter会写入,将写入BufferedWriter,将(在其缓冲区已满,或者刷新或关闭时)写入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) 输出指定的布

  • 问题内容: 和之间有什么区别?他们有很多共同的方法,因此我经常将这两个类混在一起。而且,我认为我们可以将它们用于完全相同的事物。但是必须有所不同,否则,只有一个阶级。 我搜索了档案,但是找不到这个问题。 问题答案: 听起来可能有些轻率,但打印到,然后打印到。好的,我怀疑我会说出明显的观点吗?但是还有更多。 那么,an 和a有什么区别?两者都是流,主要区别是a 是字节流,而a 是字符流。 如果处理字

  • 本文向大家介绍PrintStream和PrintWriter的区别简介,包括了PrintStream和PrintWriter的区别简介的使用技巧和注意事项,需要的朋友参考一下 PrintStream和PrintWriter的API几乎相同,都能输出各种形式的数据,构造方法也几乎相同 PrintWriter多了个接受Writer参数 API比较: 那么,它们的区别究竟在哪里?来自stackflow

  • 问题内容: 好的,首先我为所有代码道歉,但是我觉得太多的代码总比不够好。我正在努力做一个简单的聊天客户端和印刷作家。使用现在的代码,它将与服务器类进行交互,并且可以很好地进行打印并打印我想要打印的内容。但是,当我删除’writer.flush();’时 它将停止打印。以我的理解-这显然是错误的-‘writer.println(outgoing.getText());’ 应该就足够了,因为这会发送试

  • 问题内容: 在阅读有关Java I / O的知识时,我意识到可以通过两种方式写入标准输出。 以下是同时使用这两种技术的代码段 相对于其他使用,是否有任何性能优势? 问题答案: 一个快速的Google透露了Coderanch上的一个线程很有用。 还有其他几种进行控制台编写的方法,但是除了编写更少的代码外,使用一种或另一种似乎没有真正的好处,而且创建新的PrintWriter对象最终会占用更多的内存。

  • 问题内容: 几天前,我意识到PrintWriter(以及PrintStream)在写入,刷新或关闭时 从不会抛出IOException 。 而是在发生错误时设置内部标志()。 不可能获得确切的异常,只有 在 存在某些异常(checkError())的情况下。 我的问题是:为什么一个人要发生这种行为?API设计不是很糟糕吗? 问题答案: 我认为由于是和的实例,因此提供了一些更轻松的错误处理。就像其他