在阅读Java教程时,基本I / o主题说,如果没有InputStreamReader
,请使用OutputStreamWriter
和prepackaged character stream classes
。
1)什么是Pepackaged character stream classes
?
这是不是意味着,一个文件已经有了一些文字!
答案 0 :(得分:1)
这个词很模糊,似乎没有在任何地方定义,所以很好的问题。
我最了解它意味着FileInputStream
,FileOutputStream
,ByteArrayOutputStream
等等。为您包装了特定类型的流并提供所需功能的类与之合作。
请注意,大多数这些流都使用character
而不是byte
,这通常是您在Java中处理文件中的String
数据所需要的。另一方面,如果您正在阅读纯二进制源,那么数据将以byte
的形式出现,然后您可以使用InputStreamReader
将byte
转换为character
}第
因此,预先打包的流式阅读器已经为您提供了预先打包的数据,并以您希望的形式提供。
答案 1 :(得分:1)
我认为它意味着继承Reader
或Writer
的类。这些类“包装”字节流,以便将它们自动转换为字符流。示例:FileReader
,FileWriter
;他们可以直接从文件中读取文本。
如果您的特定流需要没有这样的类,但是您知道从中获取/放入的是文本,那么您必须使用这两个包装类。
经典示例:HTML。它是文本,但你从套接字获得的是字节流;如果你想把它作为HTML阅读,请在套接字流上使用Reader
(使用正确的编码!)(当然,今天许多API都不要求你这样做。)