一:字节缓冲输入输出流


构造器:

package com.file.test;
import java.io.*;
import java.io.FileInputStream;
public class FileWriter03 {
//通过缓冲流实现对文件的copy
public static void main(String[] args) {
try (
InputStream file= new FileInputStream("FileStudy\\src\\main\\java\\com\\file\\test\\itaa.txt");
//定义一个字节输入缓冲流
InputStream filea=new BufferedInputStream(file);
OutputStream is01= new FileOutputStream("FileStudy\\src\\main\\java\\com\\file\\test\\ita.txt");
//定义一个字节输出缓冲流
OutputStream is02=new BufferedOutputStream(is01);
){
byte[] bytes = new byte[1024];
int len;
while((len=filea.read(bytes))!=-1){
is02.write(bytes,0,len);
}
System.out.println("复制完成!");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
就是把字节输入流对象放入到字节输入流缓冲对象里,然后以后每次使用都用缓冲输入流对象就好了,一样的方法;
二:字符缓冲输入输出流
1:字符缓冲输入流

package com.file.test;
import java.io.*;
import java.io.FileReader;
public class FileInputdemo01 {
public static void main(String[] args) {
try(
Reader is = new FileReader("FileStudy\\src\\main\\java\\com\\file\\test\\it.txt");
BufferedReader br = new BufferedReader(is);
) {
String len;
while ((len = br.readLine()) != null) {
System.out.println(len);
}
} catch (FileNotFoundException e) {
System.out.println("文件未找到,请检查文件路径是否正确:" + "FileStudy\\src\\main\\java\\com\\file\\test\\it.txt");
} catch (IOException e) {
System.out.println("读取文件时出现了IO异常,请检查文件是否可正常读取。");
e.printStackTrace();
}
}
}

字符缓冲输出流:



所以推荐使用缓冲流字节数组去复制文件,速度快
输出当前系统时间:System.out.println(System.currentTimeMillis()/1000.0);//换算为秒
注意:缓冲池的大小可以改变:

但不是越大越好