1:io流体系:对数据进行读写操作。所以IO不是读就是写咯。
2:io流的相关的类:java.io包。
有关IO的操作都会产生IOException异常
3:io:参照物是程序,
i:input.进来,读取数据到程序中。
o:output:出去,将数据从程序中写出去。
4:io流的分类,相关的类都会有相应的单词。
4.1:从数据的流向分。个人理解为就是内存和硬盘之间的数据交换,内存上的数据是暂时性的,而硬盘上的数据是永久性的。
Input(输入):读取数据,数据往程序中流。或者说:将硬盘上的数据放到内存上
Output(输出):写出数据,将数据从程序中写出去。或者说:将内存上的数据放到硬盘上
4.2:字节流和字符流
Stream:字节流,所有的数据都可以用字节流操作。计算机真正能识别的就是010101这些东西,8个0或者1组合成位,8位就是一个字节了。
Reader或者Writer:字符流。字符流是在字节流的基础上加了编码机制。只能对文字进行操作,虽说是文字,更贴切的说是文本文件,并不包括.doc等富文本文件,因为这些文件里面可以放图片或者其他的非文字内容。不能够对图片或者音频文件进行操作。
InputSteam:读取字节流。OutputStream:输出字节流。
Reader:读取字符流, Writer:写出字符流。
5:文件字节流
OutputStream,:抽象类
文件输出字节流:FileOutputStream:节点流,跟目标设备相关联。
实例一:
1 import java.io.FileOutputStream; 2 import java.io.IOException; 3 4 public class FileOutputStreamDemo1 { 5 6 public static void main(String[] args) throws IOException { 7 //1.创建文件输出流对象,参数为全路径名 8 FileOutputStream fos = new FileOutputStream("e:\\aa.txt"); 9 //2.写出数据 10 //2.1准备数据 11 String str = "要写出的数据"; 12 //2.2将数据转为字节数组的形式 13 byte[] b = str.getBytes(); 14 //3.0将数据按照一个个字节地写出目标文件中 15 /*for(int i=0; i<b.length; i++){ 16 fos.write(b[i]); 17 }*/ 18 //3.1以下是将整个数组输出去,和3.0可到达相同的效果 19 fos.write(b); 20 //4.释放资源 21 fos.close(); 22 } 23 24 }