Java教程

用Java实现将多级文件夹下的所有文件统一放到一个文件夹中

本文主要是介绍用Java实现将多级文件夹下的所有文件统一放到一个文件夹中,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

package USEif;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class T5 {

public static void main(String[] args) throws IOException {



File file=new File("e:/测试4");
File file2=new File("e:/测试5");
copy(file, file2);          //调用复制方法

// shear(file, file2);        //调用剪切方法

}

public static void copy(File copied,File copy ) throws IOException {                                 //两个参数中,前者代表要被复制的文件夹名称,后者是一个不存在的文件夹,自定义命名
copy.mkdirs();
File[] copiedFiles=copied.listFiles();                                                                  //得到要被复制的文件夹下所有内容,放进文件数组中
for(File file:copiedFiles) {                                                                                //遍历该数组
if(file.isFile()) {                          //查看该对象是否是文件
FileInputStream stream=new FileInputStream(file);          //读入该对象
FileOutputStream stream2=new FileOutputStream(copy+"/"+file.getName());      //写出该对象到   copy+"/"+file.getName()   路径  
byte[] bytes=new byte[1024];
int len=0;
while((len=stream.read(bytes))!=-1){
stream2.write(bytes,0,len);
}
stream.close();
stream2.close();
}else {
File file2=new File(copy+"/"+file.getName());
copy(file,file2);                        //递归
}
}
}

 

 

 

================================================================================================================

//剪切方法:

public static void shear(File cut, File copy) throws IOException {
copy.mkdirs();
File[] copiedFiles=cut.listFiles();
for(File file:copiedFiles) {
if(file.isFile()) {
FileInputStream stream=new FileInputStream(file);
FileOutputStream stream2=new FileOutputStream(copy+"/"+file.getName());
byte[] bytes=new byte[1024];
int len=0;
while((len=stream.read(bytes))!=-1){
stream2.write(bytes,0,len);
}
stream.close();
stream2.close();
file.delete();                        //与复制方法类似,只是在每次复制之后将原文件删除
}else {
File file2=new File(copy+"/"+file.getName());
shear(file,file2);
}
}
cut.delete();                         //此时文件夹为空,再将文件夹删除
}

 

这篇关于用Java实现将多级文件夹下的所有文件统一放到一个文件夹中的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!