复制文件夹
程序员文章站
2024-03-09 10:48:29
...
键盘录入一个文件夹路径,作为源文件夹;
键盘录入一个文件夹路径,作为目标文件夹;
将源文件夹拷贝到目标文件夹中.
public static void main(String[] args) throws IOException {
//录入源文件夹路径
File file1=getFile();
//录入目标文件夹路径
File file2=new File(getFile(), "/"+file1.getName());
//创建目标文件夹
file2.mkdirs();
//复制文件夹
copyFile(file1,file2);
}
private static void copyFile(File file1, File file2) throws IOException{
//获取文件夹内容
File[] arr=file1.listFiles();
//遍历数组
for (File fi : arr) {
//判断是否为文件
if(fi.isFile()){
//创建输入流
FileInputStream fis=new FileInputStream(fi);
//创建输数流
FileOutputStream fos=new FileOutputStream(file2+"/"+fi.getName());
//创建一个数组
byte[] by=new byte[1024];
//读取的字节
int len;
//复制文件
while((len=fis.read(by))!=-1){
fos.write(by, 0, len);
}
//关闭流对象
fis.close();
fos.close();
}else{
File file3=new File(file2+"/"+fi.getName());
file3.mkdir();
copyFile(fi, file3);
}
}
}
//获取录入的路径
public static File getFile(){
Scanner sc=new Scanner(System.in);
while(true){
System.out.println("请输入文件夹路径");
File file=new File(sc.nextLine());
if(file.isDirectory()){
return file;
}else{
file.mkdirs();
return file;
}
}
}
上一篇: 深入理解spring多数据源配置