缓冲流(高级流:需要在节点流(字节:FileInputStream、FileOutputStream。字符:FileReader 、FileWriter)的基础上创建)
1、字节缓冲流(BufferedInputStream)
package com.Java缓冲流;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedStream字节 {
public static void main(String[] args) throws IOException{
//创建文件输入流,用于读文件(相当于Windows里复制文件)
FileInputStream fileIn = new FileInputStream("C:\\Users\\Desktop\\InStream.txt");
//创建文件输出流,用于写文件(相当于Windows里粘贴文件)
FileOutputStream fileOut = new FileOutputStream("C:\\Users\\Desktop\\OutStream.txt");
//创建字符输入缓冲区,存放读出的数据流
BufferedInputStream bufferedIn = new BufferedInputStream(fileIn);
//创建字符输出缓冲区,存放要写入的数据流
BufferedOutputStream bufferedOut = new BufferedOutputStream(fileOut);
//读写
byte [] bs = new byte[4];
int i = bufferedIn.read(bs);
while(i!=-1) {
//输出缓冲流写入
bufferedOut.write(bs, 0, i);
//输入缓冲流读取
i = bufferedIn.read(bs);
}
//关闭
bufferedOut.close();
fileOut.close();
bufferedIn.close();
fileIn.close();
}
}
2、字符缓冲流(BufferedOutputStream)
package com.Java缓冲流;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedStream字符 {
public static void main(String[] args) throws IOException {
//创建文件输入流,用于读文件(相当于Windows里复制文件)
FileReader fileIn = new FileReader("C:\\Users\\Desktop\\InStream.txt");
//创建文件输出流,用于写文件(相当于Windows里粘贴文件)
FileWriter fileOut = new FileWriter("C:\\Users\\Desktop\\OutStream.txt");
//创建字符输入缓冲区,存放读出的数据流
BufferedReader bufferedReader = new BufferedReader(fileIn);
//创建字符输出缓冲区,存放要写入新文件的数据流
BufferedWriter bufferedWriter = new BufferedWriter(fileOut);
// 按行读取
String line = bufferedReader.readLine();
while (line != null) {
bufferedWriter.write(line);
line = bufferedReader.readLine();
}
}
}