IO的基本知识

1.流stream

   java中的流可以想象成流水管道,stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。

   在Java的IO中,所有的stream按流的种类分为字节流和字符流,按输入输出分为输入流和输出流:

   按流的种类分:
   1.字节流
      表示以字节为单位从stream中读取或往stream中写入信息,即io包中的inputstream类和outputstream类的派生类。

      通常用来读取二进制数据,如图象和声音。

 

    2.字符流

       以Unicode字符为基础的stream,表示以Unicode字符为单位从stream中读取或往stream中写入信息。

 

    区别:

    1.Reader和Writer要解决的,最主要的问题就是国际化。原先的I/O类库只支持8位的字节流,因此不可能很好地处理16位的

       Unicode字符流。Unicode是国际化的字符集(更何况Java内置的char就是16位的Unicode字符),这样加了Reader和Writer之后,

       所有的I/O就都支持Unicode了。此外新类库的性能也比旧的好。

    2.但是,Read和Write并不是取代InputStream和OutputStream,有时,你还必须同时使用"基于byte的类"和"基于字符的类"。

       为此,它还提供了两个"适配器(adapter)"类。InputStreamReader负责将InputStream转化成Reader,

       而OutputStreamWriter则将OutputStream转化成Writer。

 

    按输入输出分:

    输入流和输出流,两种的划分标准是针对程序而言的,相对程序而言是输入还是输出.

 

2.常用流的层次

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值