package com.hrf.io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
public class BufferedTest {
// 缓冲流,减少物理读取次数.
// 缓冲流主要有:BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter
public static void main(String[] args) {
// 1.字节缓冲流
// 创建字节的输入输出流
try (InputStream inputStream = new FileInputStream("d:/hrf/demo1.txt");
OutputStream outputStream = new FileOutputStream("d:/hrf/demo1Bufferbak.txt");
// 创建缓冲流
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream)
){
// 临时变量
int temp = 0;
// 循环复制
while((temp = bufferedInputStream.read()) != -1) {
bufferedOutputStream.write(temp);
System.out.print((char)temp);
}
// 刷新
outputStream.flush();
} catch (Exception e) {
e.printStackTrace();
}
// 2.字符缓冲流
// 创建字符的输入输出流
try (Reader reader = new FileReader("d:/hrf/demo2.txt");
Writer writer = new FileWriter("d:/hrf/demoBufferbak.txt");
// 创建缓冲流
BufferedReader bufferedReader = new BufferedReader(reader);
BufferedWriter bufferedWriter = new BufferedWriter(writer)
){
// 临时变量
String str = " ";
// 循环复制
while((str = bufferedReader.readLine())!= null) {
bufferedWriter.write(str);
bufferedWriter.newLine();//换行,底层是\n.
System.out.print(str);
}
// 刷新
bufferedWriter.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
}
缓冲流的练习
最新推荐文章于 2024-08-05 22:03:47 发布