教你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();
        }
    }
}

三、結果展示

在這里插入圖片描述

四、總結

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM