目录
- BufferedReader/BufferedWriter
--8.1 BufferedReader 缓冲输入字符流
--8.2 BufferedWriter 缓存输出字符流
--8.3 用BufferedWriter和BufferedReader进行拷贝
8. BufferedReader/BufferedWriter(需要flush()才可写入)
8.1 BufferedReader
读取字符时会一次读取若干字符到缓冲区,然后逐个返回给程序,降低读取文件的次数。
- BufferedReader常用构造方法
public BufferedReader(Reader in)
- BufferedReader重要方法
public int read()
public int read(char cbuf[], int off, int len)
String readLine(boolean ignoreLF)
public String readLine()
8.2 BufferedWriter
写出字符时先写到缓冲区,缓冲区写满再写到文件,降低写文件的次数,提高效率。
- BufferedWriter常用构造方法
public BufferedWriter(Writer out)
- BufferedWriter重要方法
public void write(int c)
public void write(char cbuf[], int off, int len)
public void write(String s, int off, int len)
public void newLine() //可输入一个跨平台的换行符
public void flush()
public void close()
8.3 用BufferedWriter和BufferedReader进行拷贝
方式一:
File dir = Environment.getExternalStorageDirectory();
File file = new File(dir, "abc.txt");
File dst = new File(dir, "dst4.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter(dst);
BufferedWriter bw = new BufferedWriter(fw);
int len = -1;
char[] buffer = new char[1024];
while ((len = br.read(buffer)) != -1) {
bw.write(buffer, 0, len);
bw.flush();
}
fr.close();
br.close();
fw.close();
fw.close();
方式二:
File dir = Environment.getExternalStorageDirectory();
File file = new File(dir, "abc.txt");
File dst = new File(dir, "dst4.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter(dst);
BufferedWriter bw = new BufferedWriter(fw);
String line = null;
while((line = br.readLine())!=null){
bw.write(line);
bw.newLine();//可输入一个跨平台的换行符
bw.flush();
}
fr.close();
br.close();
fw.close();
fw.close();