什么是预先打包的字符流类?

时间:2014-02-14 10:52:43

标签: java io

在阅读Java教程时,基本I / o主题说,如果没有InputStreamReader,请使用OutputStreamWriterprepackaged character stream classes

1)什么是Pepackaged character stream classes? 这是不是意味着,一个文件已经有了一些文字!

2 个答案:

答案 0 :(得分:1)

这个词很模糊,似乎没有在任何地方定义,所以很好的问题。

我最了解它意味着FileInputStreamFileOutputStreamByteArrayOutputStream等等。为您包装了特定类型的流并提供所需功能的类与之合作。

请注意,大多数这些流都使用character而不是byte,这通常是您在Java中处理文件中的String数据所需要的。另一方面,如果您正在阅读纯二进制源,那么数据将以byte的形式出现,然后您可以使用InputStreamReaderbyte转换为character }第

因此,预先打包的流式阅读器已经为您提供了预先打包的数据,并以您希望的形式提供。

答案 1 :(得分:1)

我认为它意味着继承ReaderWriter的类。这些类“包装”字节流,以便将它们自动转换为字符流。示例:FileReaderFileWriter;他们可以直接从文件中读取文本。

如果您的特定流需要没有这样的类,但是您知道从中获取/放入的是文本,那么您必须使用这两个包装类。

经典示例:HTML。它是文本,但你从套接字获得的是字节流;如果你想把它作为HTML阅读,请在套接字流上使用Reader(使用正确的编码!)(当然,今天许多API都不要求你这样做。)