[英]java.io writers and readers - how do you know which should be used?
有很多类扩展了java.io.Writer和java.io.Reader。
在哪些情况下你应该使用一个而不是另一个? 每个人的整体实用性是什么(为什么会有这么多)?
他们有不同的“表现”属性吗? 他们都只是从流中写/读 - 不是吗?
有没有人知道一篇文章会给我一些例子,说明你在哪里使用另一个。
同样的问题也适用于处理实际的文件。 似乎有多种方法可以打开要读/写的文件流。
谢谢。
读者的名字说明了用例。
FileReader / StringReader / CharArrayReader / InputStreamReader具有不同的实现,可以从Files,Strings,CharArrays或InputStream中读取。 用法取决于您的来源。
LineNumberReader / PushbackReader / BufferedReader不能工作'Standalone'你可以将它们与另一个源-Reader结合使用。 例如new BufferedReader( new FileReader(file) );
此Reader为您提供了可能需要执行的特殊情况的方法。 BufferedReader
逐行读取,或LineNumberReader获取行号。
PipedReader
很适合将程序的Part / Thread上的数据表格与PipedWriter
一起读取到另一个Part / Thread。 ...
...对于特殊情况,您可以使用Reader和Writer构建链,就像Decorator模式一样。
这是他们选择的特定设计模式。 您需要哪个课程基于“您需要做什么”。 如果你想从文件中读取,那么你可能需要一个FileReader
。 对于大多数这些类,您可以将其中一个包装到另一个类中以获得所需的功能。
这是一个很好的问题我刚才问过,关于使用正确的Writer
类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.