IO流(1)

简介:
输入流和输出流:往程序中读入的流就是输入流(InputStreamReader的子类),从程序写出到其他介质的流就是输出流(OutputStreamWriter的子类)。
节点流和处理流:节点流为直接操作外部介质的类如FileOutputStreamFileInputStreamFileWriterFileReader等。处理流为套接在节点流上的流如缓冲流BufferedInputStreamBufferReader,数据流DateInputStreamDateOutputStream,转换流InputStreamReader
字节流和字符流:以stream结尾的都为字节流。
 
 
 
范围:ascll0-126       unicode0-65535
原来很多国家和地区都有自己的编码:gbkgb2312等,不统一。Unicode则统一了全世界文字的编码,一个字符占两个字节。
java中用的是unicode,一个字符占两个字节,16.
char(字符)类型使用国际通用的16Unicode字符集,所以能自动表达大多数国家的字符。  
String 字串里的每个字符都是16位,或者说2个字节、长整数,以便提供对Unicode字符的支持。
 
 
 
Java所提供的所有流类型位于包java.io内,且都分别继承自以下四种抽象流类型。
简单理解这四个抽象类就是:写出,读入(写出,读入都是以程序为参考物的)
区别:InputStreamint read()方法的返回值范围为0-255(字节)
      Readerint read()方法的返回值范围为0-65535(字符)
         OutputStreamWriterwrite()方法的区别看API,写得很详细。
 
 
下面分别介绍这四个抽象类:
InputStream:继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节(8bit[这些类中的read()方法获取的都是unicode码(两字节,16位),因此对于ascll码中的字符可以正确读取,因为他们的unicode码和ascll 码是一样的(unicode码前一个字节为0,后一个字节则为相应的ascll码)。但是不能读取汉字,因为汉字的unicode码大于256,占两个字节].
 
 
 
OutputStream:继承自OutputStream的流都是用于向程序中输出数据,且数据的单位为字节(8bit
 
 
 
Reader:继承自Reader的流都是用于向程序中输入数据,且数据的单位为字符(16bit
 
 
Writer:继承自Writer的流都是用于程序中输出数据,且数据的单位为字符(16bit
以上为对IO的总体概述,后续会写出一些类的例子。









本文转自 yzzh9 51CTO博客,原文链接:http://blog.51cto.com/java999/159843,如需转载请自行联系原作者
目录
相关文章
|
26天前
|
C语言 iOS开发 C++
10. C++IO流
10. C++IO流
15 0
|
6月前
|
存储 编译器 C语言
IO流(C++)
IO流(C++)
36 3
|
安全 C语言 C++
【C++】—— C++的IO流
【C++】—— C++的IO流
|
8月前
IO流
IO流
28 0
|
9月前
|
C语言 C++ iOS开发
IO流(C++)
IO流(C++)
57 0
IO流(C++)
io流
inputStream和Reader是所有输入流的基类
|
4月前
|
算法 C语言 C++
C++的IO流
C++的IO流
25 0
|
5月前
|
安全 C语言 C++
|
8月前
|
安全 编译器 C语言
【C++】IO流
【C++】IO流
58 0
|
8月前
|
C++
C++IO流(1)
C++IO流(1)