一、需求

我要把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();
}
}
}

三、結果展示

四、總結

看來小編裡面沒有什麼意外發現,不知道你們的呢!!小編剛剛裝的系統,就有接近兩千張,對你有用,趕緊點贊關注哦!!