题目要求:复制单级文件夹目录
数据源:D:\\demo
目的地:D:\\test
思路:
1.封装数据源
2.封装目的地
* 如果目的地文件夹不存在,创建目的地文件夹
3. 获取数据源下所有文件的File数组
4.遍历File数组,得到每一个元素
5.进行复制
现将代码呈现如下:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopgFoder {
public static void main(String[] args) throws IOException {
// 封装数据源
File fr = new File("D:\\demo");
// 封装目的地
File fw = new File("D:\\test");
// 如果目的地文件夹不存在,创建目的地文件夹
if (!fw.exists()) {
fw.mkdir();
}
// 获取数据源下所有文件的File数组
File[] Getfile = fr.listFiles();
//遍历File数组
for(File file : Getfile){
String name = file.getName();
//拼接文件名称
File newFile = new File(fw,name);
//复制文件
copyFile(file,newFile);
}
}
private static void copyFile(File file, File newFile) throws IOException{
// TODO Auto-generated method stub
//创建高效的缓冲流,使用字节流
BufferedInputStream bi = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(newFile));
byte[] by = new byte[1024];
int len = 0;
while(((len = bi.read(by)) != -1)) {
bo.write(by,0,len);
}
bo.close();
bi.close();
}
}