java IO 流

来源:互联网 发布:数据机房项目经理 编辑:程序博客网 时间:2024/06/16 15:21



1、

Io流内容很多,简单的分一下

 

java 字节类型,byte  8位

java 字符类型,char  16位

 

 

字节流

字符流

流类

InputStream

 

 

Reader

 

int read()˖

close():

OutputStream

 

 

 

Writer

 

write()

flush() 流刷新

close() 关闭前可以先flush

常见方法

 

 

 

 

特点

读到一个字节就返回一个字节

基于字节流,读取字节时去查了指定的码表

总结

处理纯文本文件用字符流,其他同字节流(如mp3,avi)

 

 

 

 

节点流

处理流

文件流

 

 

FileInputStream 

FileOutputStrean 

FileReader 

FileWriter 

缓存流

BufferedImputStrean 

BufferedOutputStream 

BufferedReader 

BufferedWriter 

数组流

ByteArrayInputStream 

ByteArrayOutputStream 

CharArrayReader 

CharArrayWriter 

转换流

InputStreamReader 

OutputStreamWriter

要inputStream或OutputStream作为参数

实现从字节流到字符流的转换

字符串流

StringReader 

StringWriter 

数据流

DataInputStream 

DataOutputStream

管道流

PipedInputStream 

PipedOutputStream 

CharArrayReader 

CharArrayWriter 

 

 

 

节点流

可以从或向一个特定的地方(节点)读写数据。

处理流

是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接

 

 




节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader

处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接

 

常用的节点流 

父 类 InputStream OutputStream Reader Writer 

 

文 件 *FileInputStream FileOutputStrean FileReader FileWriter 。文件进行处理的节点流 

 

数 组 *ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter 对数组进行处理的节点流(对应的不再是文件,而是内存中的一个数组) 

 

字符串 *无  无 StringReader StringWriter 对字符串进行处理的节点流 

管 道 *PipedInputStream PipedOutputStream PipedReader PipedWriter 对管道进行处理的节点流  

 

 

 

 常用处理流(关闭处理流使用关闭里面的节点流) 

父 类 InputStream OutputStream Reader Writer 

 

缓冲流 *BufferedImputStrean BufferedOutputStream BufferedReader BufferedWriter –

 

转换流 *InputStreamReader OutputStreamWriter- 要inputStream或OutputStream作为参数,实现从字节流到字符流的转换 

 

数据流 *DataInputStream DataOutputStream -提供将基础数据类型写入到文件中,或者读取出来,为什么要有这个流呢?看这样的分析,如果没有这种流的话,有一个long,本身只占8个字节,如果我要写入到文件,需要转成字符串,然后在转成字符数组,那空间会占用很多,但是有了这种流之后就很方便了,直接将这8个字节写到文件就完了。。是不是既节约了内存空间有让程序写起来更加方便简单了呐。写倒是很简单,但是读取的时候就注意了,根据读取的数据类型,指针会往下移,所以你写的顺序必须要和读的顺序一致才能完成你正确的需求


0 0
原创粉丝点击