教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里
一、需求
我要把C盘下面的所有图片都拿出来,放到一个新文件夹中.今天小编一身正气,看看有没有什么意外发现!!学会看看自己的盘,悄悄的哦!!!
二、代码展示(运行时间可能有点长)
import java.io.*; public class ArrangementJPG { //控制图片名字的位数 static int id; public static void main(String[] args){ //目标文件 File target = new File("e:\\foto"); target.mkdirs(); //便利源文件 File dir = new File("c:\\"); kill(dir); } //便利c盘下的所有文件夹及文件 ---找到.jpg结尾图片 public static void kill(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){ kill(d); } for(File j : js){ File x = new File("e:\\foto",nextName()); copy(j,x); } } //获得下一个文件名 private static String nextName(){ String name = String.valueOf(++id); while(name.length() < 5){ name = "0" + name; } name += ".jpg"; return name; } //复制一个文件的 private static void copy(File src,File tar){ try(FileInputStream fis = new FileInputStream(src);FileOutputStream fos = new FileOutputStream(tar)){ byte[] data = new byte[65536]; int len; while((len = fis.read(data))!=-1){ fos.write(data,0,len); } }catch(Exception e){ e.printStackTrace(); } } }
三、结果展示
四、总结
看来小编里面没有什么意外发现,不知道你们的呢!!小编刚刚装的系统,就有接近两千张,对你有用,赶紧点赞关注哦!!