import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Scanner;
public class Test_缓冲流复制 {
public static void main(String[] args) throws Exception {
String s = "src/001.jpg";
File r = new File(s);
//输入目标文件目录
File dirFile = getDirFile();
File w = new File(dirFile, r.getName()); //存放目标文件,目录,文件名
//1.
BufferedInputStream in = new BufferedInputStream(new FileInputStream(r));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(w));
System.out.println("关联成功");
long start = System.currentTimeMillis(); //拷贝前
//2.
int len;
byte[] arr = new byte[8];
while ((len = in.read(arr)) != -1) {
out.write(arr, 0 ,len);
}
out.flush();
long end = System.currentTimeMillis(); //拷贝后
System.out.println("缓冲字符流拷贝用时:" + (end - start));
//3.
out.close();
in.close();
System.out.println("成功释放资源");
}
public static File getDirFile() {
Scanner sc = new Scanner(System.in);
File file;
String line ;
while (true) {
System.out.println("请输入有效目录 ");
line = sc.nextLine(); //录入
file = new File(line); //新建录入的目录
//exists判断目录存在,isDirectory判断是不是目录
if (file.exists() && file.isDirectory()) {
break;
}else {
System.out.println("录入目录无效!");
}
}
return file; //返回目录
}
}
运用缓冲流完成文件复制
最新推荐文章于 2023-04-17 21:16:02 发布