亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

重命名目錄下的所有文件

標簽:
Java
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Pattern;
public final class Directory {
    private static File[] local(File dir, final String regex) {
        return dir.listFiles(new FilenameFilter() {
            final Pattern pattern = Pattern.compile(regex);
            @Override
            public boolean accept(File dir, String name) {
                return pattern.matcher(new File(name).getName()).matches();
            }
        });
    }
    public static File[] local(String path, final String regex) {
        return local(new File(path), regex);
    }
    public static class TreeInfo implements Iterable<File> {
        public List<File> files = new ArrayList<File>();
        private List<File> dirs = new ArrayList<File>();
        @Override
        public Iterator<File> iterator() {
            // TODO Auto-generated method stub
            return files.iterator();
        }
        void addAll(TreeInfo others) {
            files.addAll(others.files);
            dirs.addAll(others.dirs);
        }
    }
    public static TreeInfo walk(String start, String regex) {
        return recurseDirs(new File(start), regex);
    }
    public static TreeInfo walk(File start, String regex) {
        return recurseDirs(start, regex);
    }
    public static TreeInfo walk(File start) {
        return recurseDirs(start, ".*");
    }
    public static TreeInfo walk(String start) {
        return recurseDirs(new File(start), ".*.");
    }
    static TreeInfo recurseDirs(File startDir, String regex) {
        TreeInfo result = new TreeInfo();
        for (File item : startDir.listFiles()) {
            if (item.isDirectory()) {
                result.dirs.add(item);
                result.addAll(recurseDirs(item, regex));
            } else if (item.getName().matches(regex)) {
                result.files.add(item);
            }
        }
        return result;
    }
    public static void main(String[] args) {
        List<String> list = getFileNames("F:\\");
        List<String> list2 = getFileNames("D:\\PDF\\");
        for (int i = 0; i < list.size(); i++) {
            File file2=new File("D:\\PDF\\"+list2.get(i));
            File file=new File("D:\\PDF\\"+list.get(i));        
            System.out.println(file2.renameTo(file));
        }
    }
    private static List<String> getFileNames(String path) {
        TreeInfo sourceInfo = walk(path);
        List<File> files = sourceInfo.files;
        File file;
        String fileName;
        List<String> list = new ArrayList<>();
        for (int i = 0; i < files.size(); i++) {
            file = files.get(i);
            if (file.isFile()) {
                fileName = file.getName();
                if (fileName.indexOf(".") != -1)
                    list.add(fileName);
            }
        }
        return list;
    }
}
點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
56
獲贊與收藏
363

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消