用java代码将原始文件夹中除去.xlsx,原样复制到目标文件夹中
开始的文件目录:
运行后得到的结果:
package c02;
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 Char {
public static void main(String[] args) throws IOException {
File yuan=new File("F:\\作业\\作业\\作业原始");
File[]yuanl=yuan.listFiles();
File mu=new File("F:\\作业\\作业\\作业目标");
for(File a:yuanl){
copy(a,mu);
}
}
private static void copy(File yuan, File mu) throws IOException {
//判断是否为目录,是则在目标中创建同名目录然后调用自己来判断下一级中是否有目录
if(yuan.isDirectory()){
File newFolder=new File(mu,yuan.getName());
newFolder.mkdirs();
File[] Array=yuan.listFiles();
for(File file:Array){
copy(file, newFolder);
}
}else{
//判断是否为要过滤的类型,是什么也不用做,不是就用输入输出流复制
if(yuan.getName().contains("xlsx")){
}else{
File newFile=new File(mu,yuan.getName());
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(yuan));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(newFile));
byte[] bys=new byte[1024];
int len=0;
while((len=bis.read(bys))!=-1){
bos.write(bys,0,len);
}
bos.close();
bis.close();
}
}
}
}