`
utopialxw
  • 浏览: 369126 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Reader和InputStream

    博客分类:
  • java
阅读更多

Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。
Reader
InputStream分别是I/O库提供的两套平行独立的等级机构,

InputStreamOutputStream是用来处理8位元的流,
Reader
Writer是用来处理16位元的流。
而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用ReaderWriter
值得说明的是,在这两种等级机构下,还有一道桥梁InputStreamReaderOutputStreamWriter负责进行InputStreamReader的适配和由OutputStreamWriter的适配。

java.io.Reader java.io.InputStream 组成了 Java输入类。Reader 用于读入16位字符,也就是 Unicode编码的字符;而 InputStream 用于读入 ASCII字符和二进制数据。
Java中,有不同类型的 Reader 输入流对应于不同的数据源:
    FileReader
用于从文件输入;
    CharArrayReader
用于从程序中的字符数组输入;
    StringReader
用于从程序中的字符串输入;
    PipedReader
用于读取从另一个线程中的 PipedWriter 写入管道的数据。
相应的也有不同类型的 InputStream 输入流对应于不同的数据 源:FileInputStreamByteArrayInputStreamStringBufferInputStreamPipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:
    Socket
用于套接字;
    URLConnection
用于 URL 连接。
这两个类使用 getInputStream() 来读取数据。
相应的,java.io.Writer java.io.OutputStream 也有类似的区别。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiadasong007/archive/2009/11/06/4776913.aspx

分享到:
评论

相关推荐

    JAVA程序员笔试面试题汇总及答案.pdf

    字节流继承于 InputStream 和 OutputStream,字符流继承于 Reader 和 Writer。BufferedReader 和 BufferedWriter 是字符流的读写文本文件,且效率更高。FileInputStream 和 FileOutputStream 是字节流的读写文本文件...

    java.io.Reader 和 java.io.InputStream 的区别

    此外,值得注意的是,虽然`InputStream`和`OutputStream`以及`Reader`和`Writer`之间存在类似的关系,但在设计上,`InputStream`和`OutputStream`更偏向于底层数据传输,而`Reader`和`Writer`则提供了更高级的字符...

    Java面试题20道题常见

    在本文中,我们将详细解释 Java 中的内存溢出、String 对象的创建、对象的垃圾回收、Error、Exception 和 RuntimeException 的区别、hashCode 的作用、HashMap 和 Hashtable 的区别、Reader 和 InputStream 的区别、...

    最新java面试题(基础部分)

    该资源提供了Java面试题的答案,涵盖了Java基础知识点,包括内存溢出、String对象、垃圾回收、Error、Exception和RuntimeException的区别、hashCode的作用、HashMap和Hashtable的区别、Reader和InputStream的区别、...

    阿里巴巴电话面试题目——Java

    11. **Reader 和 InputStream**:Reader处理Unicode字符,InputStream处理ASCII字符和二进制数据。两者都是I/O流,但Reader适用于文本,InputStream适用于二进制数据。 12. **== 与 equals 的区别**:==比较基本...

    java学习资料

    "readerInputStream.doc"可能更深入地讲解了Reader和InputStream这两个常用的I/O流接口,它们分别用于处理字符流和字节流。 "Eclipse.doc"可能涵盖了使用Eclipse IDE进行Java开发的内容。Eclipse是流行的Java集成...

    最新java面试题及答案

    Reader和InputStream都是抽象类,Reader用于读取字符流(char或String),InputStream用于读取字节流(byte数组)。 8. HashMap中是否任何对象都可以作为key,用户自定义对象作为key有什么要求? 答案是,可以,...

    java 文件存储 Inputstream outputstream reader writer的用法

    `InputStream`、`OutputStream`、`Reader`和`Writer`是Java IO流的基础类,它们提供了读写文件的基本接口。本篇文章将深入讲解这些类的用法,并提供实际的代码示例,帮助初学者更好地理解和应用。 1. `InputStream`...

    Java标准IO流编程一览笔录

    字节流有InputStream和OutputStream家族,而字符流则有Reader和Writer家族。 2. **节点流与处理流**: 节点流直接与数据源(如文件、网络连接)交互,例如FileInputStream和FileReader。处理流则不直接与数据源...

    java考试重点总结

    在Java中,Reader和InputStream类是处理字符和字节流的抽象基类,它们提供了读取数据的基本接口。例如,Reader类中的`read()`方法用于读取单个字符,而BufferedReader则通过缓冲区提高读取效率。在实际考试中,你...

    最新java面试题及答案(基础篇)

    7. **Reader和InputStream的区别**: - **类型**:Reader处理字符流,InputStream处理字节流。 - **应用**:Reader适合读取字符数据,如文本文件,InputStream适用于所有二进制数据。 8. **HashMap中的key要求**...

    JAVA面试题,Java是一种面向对象的编程语言,由Sun Microsystems公司(现属Oracle公司)于1995年推出

    Reader和InputStream分别是处理字符流和字节流的抽象类。Reader适用于处理基于字符的数据,如文本文件,InputStream用于处理二进制数据,如图像或音频文件。它们构成了Java I/O流体系的基础,提供了丰富的子类来满足...

    Jena对本体操作综合笔记

    此外,`read`方法接受多种输入源,包括URL、Reader和InputStream,以及特定的语言标识。 3. **文档管理**:`OntDocumentManager`用于管理本体文档,支持文档导入和缓存,提高效率和响应速度。 ```java OntModel...

    阿里巴巴电话面试整理

    12. **Reader和InputStream的区别**: - Reader处理字符流,适用于处理文本数据。 - InputStream处理字节流,适用于处理二进制数据和ASCII文本。 13. **==和equals的区别**: - `==`比较基本类型时比较值,对于...

    IO流文档InputStream / OutputStream

    IO流是Java中的一种基本的数据交换方式,通过InputStream和OutputStream可以实现数据的读取和写入,而Reader和Writer可以实现字符流的读取和写入。IO流的知识点很多,需要认真学习和掌握。 InputStream的类型: * ...

    CSV-Parsing:使用InputStream类解析csv文件

    2. **创建Reader**:为了读取文本内容,我们需要将`InputStream`转换为`Reader`。可以使用`InputStreamReader`实现,指定适当的字符编码,如UTF-8: ```java InputStreamReader isr = new InputStreamReader(bis, ...

    InputStreamReader 和FileReader的区别及InputStream和Reader的区别

    对比InputStream和Reader,两者的主要区别在于处理的数据类型和层次结构。InputStream处理字节流,Reader处理字符流。字节流适用于处理任何类型的二进制数据,而字符流则专为文本数据设计,能够处理字符编码问题。...

    java_csvReader

    这两个类也可以设计成具有通用性,可以接受不同的文件路径,或者直接操作`InputStream`和`OutputStream`,以适应各种场景。 总的来说,理解和使用`CsvReader.java`和`CsvWriter.java`需要掌握Java的文件I/O操作、...

    Mybatis配置文件解析.pdf

    Mybatis配置文件解析,SqlSessionFactoryBuilder的build方法接受Reader/InputStream/Configuration作为配置源,创建SqlSessionFactory实例。在接受Reader/InputStream作为配置源时,创建了XMLConfigBuilder实例来...

    Mybatis配置文件解析组件.pdf

    Mybatis配置文件解析组件,SqlSessionFactoryBuilder的build方法接受Reader/InputStream/Configuration作为配置源,创建SqlSessionFactory实例。在接受Reader/InputStream作为配置源时,创建了XMLConfigBuilder实例...

Global site tag (gtag.js) - Google Analytics