package cn.com.five;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class DG {
//11.课堂练习
//1.用字符流做文件夹的拷贝
public static void files(File src,File tar) {
//1.新建一个目录(原文件与目标文件)
//2.输入流输出流与文件目录建立链接
FileReader fi=null;
FileWriter fw=null;
try {
fi=new FileReader(src);//先读取
fw=new FileWriter(tar);//后写
char [] b=new char[1024];
while(-1!=fi.read(b)){
fw.write(b);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();}finally{
if(fi!=null){
try {
fi.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fw!=null){
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//1.文件夹
public static void documents(File src,File tar){
if(src.isDirectory()){//1.如果是文件夹的话
//1.首先判断是不是空的
if(src.exists()&&src!=null){
//2.创建路径
tar.mkdirs();
//3.如果是文件夹遍历,如果是文件拷贝
File [] file=src.listFiles();
for(File f:file){
documents(f, new File(tar,f.getName()));
}
}else{
System.out.println("文件不存在");
}
}else{
files(src,tar);
}
}
public static void main(String[] args) {
File src=new File("D:/TEST");//原文件
File tar=new File("D:/TARGET");
documents(src, tar);
}
}
字符流实现文件夹的拷贝
猜你喜欢
转载自blog.csdn.net/qq_37591637/article/details/82781125
今日推荐
周排行