zoukankan      html  css  js  c++  java
  • IO类

    Java的IO体系分为Input/Output和Reader/Writer两类,区别在于Reader/Writer在读写文本时能自动转换内码。基本上,所有的IO类多是配对的,即有XXXInput,就有一个对应的XXXOutput。
        Java的输入输入操作是基于数据流(Stream)的,有序的字节或者字符通过一个通信信道从源地址传送到目的地址。Java支持两个数据流:InputStream和OutputStream。这两个数据流又可以分为许多子类来完成IO功能。Java1.1版本正式加入了Reader和Writer两个类,支持Java IO的国际化标准,并通过国际化字符编码(Unicode)将文本存储起来。
        简要的Java 的IO类图如下:
    这里写图片描述

    这里写图片描述

    Reader类类似于InputStream类,它是输入类层次中的基础,Reader支持16位的eUnicode字符输出,而InputStream只支持8位字符输出

    FilerReader与FileInputStream类的区别

    FileInputStream是以字节流方式读取,FileReader是把文件转换为字符流读入。InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。用Reader读取出来的是char数组或者String,使用InputStream读取出来的是byte数组。
        Reader类及其子类提供的字符流读取char(16位,unicode编码),inputStream及其子类提供字节流读取byte(8位),所以FileReader类是将文件按字符流的方式读取,FileInputStream则是按字节流的方式读取文件。
        InputStreamReader和BufferReader可以在构造器中重新指定编码方式,如果不指定的话,将采用底层操作系统的默认编码方式,例如GBK
        FileReader与InputStreamReader涉及编码转换,可能在不同平台上出现乱码现象,而FileInputStream以二进制方式处理,不会出现乱码。

    原文:https://blog.csdn.net/chenyonken/article/details/81083651

  • 相关阅读:
    如何用ST-LINK给STM32下载HEX文件
    快恢复二极管和肖特基二极管的区别和是否能够替代使用?
    Python环境变量配置
    IAP笔记
    如何将24位RGB颜色转换16位RGB颜色
    内网外网同时使用
    bootstraptable 服务端分页问题
    weblogic奇葩问题
    SSM框架
    java通过poi操作excel
  • 原文地址:https://www.cnblogs.com/PoetryAndYou/p/11616101.html
Copyright © 2011-2022 走看看