java.io编写者和读者-您如何知道应该使用哪种?
有相当多的类扩展了java.io.Writer和java.io.Reader 在某些情况下,您是否应该使用一个而不是另一个?它们的总体用途是什么(为什么有这么多) 它们是否具有不同的“性能”属性?它们都只是从流中写入/读取,不是吗 有没有人知道有一篇文章会给我举一些例子,说明你在哪些方面会使用一个而不是另一个 同样的问题也适用于处理实际文件。打开要读/写的文件流的方法似乎不止一种java.io编写者和读者-您如何知道应该使用哪种?,java,file-io,io,writer,Java,File Io,Io,Writer,有相当多的类扩展了java.io.Writer和java.io.Reader 在某些情况下,您是否应该使用一个而不是另一个?它们的总体用途是什么(为什么有这么多) 它们是否具有不同的“性能”属性?它们都只是从流中写入/读取,不是吗 有没有人知道有一篇文章会给我举一些例子,说明你在哪些方面会使用一个而不是另一个 同样的问题也适用于处理实际文件。打开要读/写的文件流的方法似乎不止一种 谢谢。这是他们选择的特殊设计模式。你需要哪门课是基于“你需要做什么”而定的。如果您想从文件中读取,那么可能需要一个文
谢谢。这是他们选择的特殊设计模式。你需要哪门课是基于“你需要做什么”而定的。如果您想从文件中读取,那么可能需要一个
文件读取器
。使用这些类中的大多数,您可以将一个类封装到另一个类中,以获得所需的功能
这是我不久前问过的关于使用right
Writer
类的问题。读者的名字在很大程度上说明了用例
FileReader/StringReader/CharArrayReader/InputStreamReader有不同的实现来读取文件、字符串、Chararray或InputStream。用法取决于您的来源
LineNumberReader/PushbackReader/BufferedReader不能“独立”工作您可以将它们与另一个源读取器组合。例如newbufferedreader(newfilereader(file))代码>
本书为您提供了一些特殊情况下的方法BufferedReader
逐行读取,或LineNumberReader获取行号
PipedWriter
与PipedWriter结合使用,可以将程序的部分/线程上的数据表单读取到另一部分/线程上
。。。对于特殊情况,您可以像Decorator模式一样使用Reader和Writer构建链。请查看。