package day_20homework;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/*
* 把指定目录下(不包含子目录)的所有图片,复制到另一个指定目录下(使用文件过滤器来过滤图片)
*/
public class Test5 {
public static void main(String[] args) {
File src = new File("C:\\");
try {
copyPicture(src);
} catch (Exception e) {
e.printStackTrace();
}
}
private static void copyPicture(File src) throws Exception {
if(!src.exists()){
throw new Exception("目录不存在,这下轻松了");
}
FileInputStream fis = null;
FileOutputStream fos = null;
//创建文件过滤对象,将符合条件的文件保存在File数组中
File[] files = src.listFiles(new FileFilter(){
public boolean accept(File pathname) {
String name =pathname.getName();
return pathname.isFile() && (name.endsWith(".jpg") || name.endsWith("png"));
}
});
byte [] buf = new byte [1024];
for (File f : files) {
//循环取到每一个符合条件的文件,并将它们的绝对路径传给字节输入流对象
fis = new FileInputStream(f.getAbsolutePath());
//获取文件名
String path = f.getName();
//将路径和文件名拼接,传给字节输出流对象
fos = new FileOutputStream("D:\\"+path);
int len = 0;
while((len = fis.read(buf))!=-1){
fos.write(buf, 0, len);
}
}
fis.close();
fos.close();
}
} |