Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.io编写者和读者-您如何知道应该使用哪种?_Java_File Io_Io_Writer - Fatal编程技术网

java.io编写者和读者-您如何知道应该使用哪种?

java.io编写者和读者-您如何知道应该使用哪种?,java,file-io,io,writer,Java,File Io,Io,Writer,有相当多的类扩展了java.io.Writer和java.io.Reader 在某些情况下,您是否应该使用一个而不是另一个?它们的总体用途是什么(为什么有这么多) 它们是否具有不同的“性能”属性?它们都只是从流中写入/读取,不是吗 有没有人知道有一篇文章会给我举一些例子,说明你在哪些方面会使用一个而不是另一个 同样的问题也适用于处理实际文件。打开要读/写的文件流的方法似乎不止一种 谢谢。这是他们选择的特殊设计模式。你需要哪门课是基于“你需要做什么”而定的。如果您想从文件中读取,那么可能需要一个文

有相当多的类扩展了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构建链。

请查看。