Java中IO源的分类和应用

Java中IO流的分类和应用

 

一 IO流的分类

我们将IO流的分类有以下三种

1 Input/Output
2 基础流/过滤流
3 字节流/字符流


①Input/Output
这个比较简单,就是输入流,输出流


②基础流/过滤流

基础流是最底层的流,直接从文件,网络中读取内容,或写入内容。
比如File...,ByteArray...,piped...,Sequece...。

过滤流是以其他基础流,进行封装。
比如Data...,Buffered...,LineNumber,pushback...。


③字节流/字符流

字节流:读取字节,010101,一般以stream结尾。
字符流:读取字符,文字,  一般以er结尾。

信息需要保密的时候用字节流操作。

无需保密的,比如配置信息等,可以用字符流操作。

 


二 几种分类的组合

我们知道了上述三种分类,就可以对上述三种分类进行搭配。

FileInputStream:文件字节输入流
DataInputStream:就是数据字节输入流。

FileOutputStream:文件字节输出流
DataOutputStream:就是数据字节输出流。

 

 

三 应用

我们来看两个例子,一个写文件,一个读文件,体会一下几种流的应用

 

读文件

File f = new File("D:\test.txt");

// 将文件对象交给基础流
FileInputStream fs = new FileInputStream(f);

// 将基础流交给过滤流
DataInputStream ds = new DataInputStream(fs);

// 读取
Strig s = ds.readLine();

 

写文件

File f = new File("D:\test.txt");

// 将文件对象交给基础流
FileOutputStream fs = new FileOutputStream(f);

// 将基础流交给过滤流
DataOutputStream ds = new DataOutputStream(fs);

// 读取
Strig s = "xy";
ds.write(s);

 


四 总结

当然,读取文件不止这一种方法,不过思路都是一样。就是文件对象交给基础流,基础流交给过滤流。