1、字符缓冲流:高效读写
2、BufferedReader:字符缓冲输入流
BufferedReader(Reader in)
String readLine():读入一行数据
3、BufferedWriter:字符缓冲输出流
BufferedWriter(Writer out)
void newLine():写入一个换行
void flush():刷新
4、BufferedReader子类LineNumberReader
public int getLineNumber():获得当前行号
public void setLineNumber(int lineNumber):设置当前行号
实例:复制文件夹
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 复制文件夹及其子级目录
* @author Administrator
*
*/
public class demo12 {
public static void main(String[] args) {
//封装来源和目的地
File source = new File("D:\\java\\java_test\\test1\\testFolder");
File dest = new File("D:\\java");
copyFile(source,dest);
}
private static void copyFile(File source, File dest) {
//如果目的地文件夹不存在,就创建
File newFolder = new File(dest,source.getName());
newFolder.mkdir();
//获取源文件夹下所有的列表
File[] arr = source.listFiles();
for(File f: arr){
File newFile = new File(newFolder,f.getName());
//如果是文件
if(f.isFile()){
BufferedReader br = null;
BufferedWriter bw = null;
String line = null;
try {
br = new BufferedReader(new FileReader(f));
bw = new BufferedWriter(new FileWriter(newFile));
while((line = br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
br.close();
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}else{//如果是文件夹
copyFile(f, newFolder);
}
}
}
}