字符缓冲流读写文件
使用BufferedReader和BufferedWriter来读写文件
使用缓冲流的好处是,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来。
经常使用的是readLine()方法,表示一次读取一行数据。
实例:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedDemo {
//字符缓冲流-读写文件
public static void main(String[] args) throws Exception {
//输出流
File file = new File("a.txt");// 指定要写入的文件
if (!file.exists()) {// 如果文件不存在则创建
file.createNewFile();
}
BufferedWriter out=new BufferedWriter(new FileWriter(file));
out.write("所爱隔山海");
out.newLine();//字符缓冲流独居的方法-换行
out.write("山海不可平");
out.close();
//输入流
BufferedReader in=new BufferReader(new FileReader("a.txt"));
String line=null;//表示读取的行
//使用字符缓冲流中独有的readLine()方法,可以一行一行的读
while((line=in.readLine())!=null){
System.out.println(line);
}
in.close();
}
}
字节缓冲流读写文件
使用BufferedInputStream和BufferedOuputStream读写图片
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class TestBufferedString {
public static void main(String[] args) throws Exception {
// 指定要读取文件的缓冲输入字节流
BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\\test.jpg"));
File file = new File("E:\\test.jpg");
if (file != null) {
file.createNewFile();
}
// 指定要写入文件的缓冲输出字节流
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
byte[] bb = new byte[1024];// 用来存储每次读取到的字节数组
int n;// 每次读取到的字节数组的长度
while ((n = in.read(bb)) != -1) {
out.write(bb, 0, n);// 写入到输出流
}
out.close();// 关闭流
in.close();
}
}