思想:该方法是通过递归遍历的方式查找c盘中的所有文件,如果检测到是.jpg文件就将其复制到d:\\photo中
import java.io.*;
public class BigOne{
static int id;//0
public static void main(String[] args){
File dir = new File("d:\\photo");
dir.mkdirs();//创建目录
File tar = new File("c:\\");
search(tar);
}
public static void search(File tar){
File[] ds = tar.listFiles((x) -> x.isDirectory());
File[] js = tar.listFiles((x) -> x.isFile() && x.getName().toLowerCase().endsWith(".jpg"));
if(ds == null) return;
for(File d : ds){
search(d);
}
for(File j : js){
System.out.println(j);
//搞出一个文件名的变量来
String name = ++id + "";
while(name.length() < 5){
name = "0" + name;
}
name += ".jpg";
//创建一个File对象代表目标文件
File t = new File("d:\\foto",name);
//文件复制 源文件j 目标文件t
try(FileInputStream fis = new FileInputStream(j);FileOutputStream fos = new FileOutputStream(t)){
byte[] data = new byte[16384];//16k
int len;
while((len = fis.read(data))!=-1){
fos.write(data,0,len);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}