字节缓冲流复制
/**
* 缓冲流读写文件进行复制功能
*
* @param from 从这个路径复制
* @param to 复制到这个路径
*/
public static void copyFile(String from, String to) {
System.out.println("=== 复制文件 Start ===");
File file = new File(from);
System.out.println(file.getName());
try (// 把原始的字节输入流包装成高级的缓冲字节输入流
InputStream bis = new BufferedInputStream(new FileInputStream(from));
// 把原始的字节输出流包装成高级的缓冲字节输出流
OutputStream bos = new BufferedOutputStream(new FileOutputStream(to));
) { // 定义一个字节数组转移数据
byte[] buffer = new byte[1024];
int len;//记录每次读取的字节数
while ((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len); //读多少,输出多少
}
System.out.println("复制文件成功完成");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("=== 复制文件 End ===");
}
字符缓冲流
Reader fr = new FileReader("src/logback.xml");
BufferedReader br = new BufferedReader(fr);
BufferedWriter bw=new BufferedWriter(new FileWriter("src/d1.txt"));
String line; //按行读取字符
while ((line = br.readLine()) != null) {
System.out.println(line);
bw.write(line);
bw.newLine();//换行功能
}
br.close();
bw.close();