流是一组有序的数据序列,分为输入流和输出流两种。I/O(Input/Output,输入/输出)流提供了一条通道程序,可以使用这条通道把源中的字节序列送到目的地。
负责各种方式输入输出的类都放在了java.io包中,其中所有的输入流类都是InputStream(字节输入流)和Reader(字符输入流)的子类,所有的输出流都是OutputStream(字节输出流)和Writer(字符输入流)的子类。
FileInputStream 和 FiltOutputStream
FileOutputStream out = new FileOutputStream(file);//创建对象
byte buy[]="aaaaaaaabrsa".getBytes();//FileOutputStream处理字节输出流
out.write(buy);//将数组信息写入文件中
out.close();
FileInputStream in = new FileInputStream(file);//创建对象
byte byt[]=new byte[1024];
int len = in.read(byt);//从文件中读取信息
FileReader 和 FileWriter
FileWrite out = new FileWrite(file);
String str="aaaaaaaaaaaaaa";
out.write(str);
out.close();
FileReader in = new FileReader(file);
char byt[]=new char[1024];
int len = in.read(byt);
in.close();
缓存是I/O的一种性能优化,缓存流为I/O流增加了内存缓存区。
BufferedInputStream 和 BufferedOutputStream
文件>>>InputStream>>>BufferedInputStream >>>>目的地
BufferedReader 和 BufferedWriter
字符数据>>>>BufferedWriter >>>>OutputStreamWrite>>>>>Outputstream>>>>>文件
FileWrite fw=new FileWrite(file);
BufferedWriter bufw=new BufferedWriter (fw);
bufw.write("aaaaaaaaaa");
bufw.close();
fw.close();
FileReader frw=newFileReade(file);
BufferedReader bufr=new BufferedReader (fr);
String s = null;
int i= 0;
while((s=bufr.readLine())!=nu;;){
i++;
System.out.println(s);
}
bufr.close();
fr.close();
OutputStreamWriter 是字符流Writer的子类,是字符流通向字节流的桥梁。