日期:2014-05-20  浏览次数:20729 次

求助:编程实现把各子目录中指定类型的文件移动到父目录中
本帖最后由 lirn200000 于 2013-05-30 14:57:11 编辑
编程实现把各子目录中指定类型的文件移动到父目录中,如:d:/test(用一个参数表示)目录下有a、b、c三个子目录,a目录中有a.txt文件,b目录中有b.txt文件,c目录中有c.txt文件,编程实现将a.txt 、b.txt 、c.txt移动到d:/test目录下,并重命名为da.txt、db.txt、dc.txt。文件类型txt用另一个参数表示,前缀d用一个参数表示(可为空)。

------解决方案--------------------

        File dir = new File("d:/test");
        for (File dir1 : dir.listFiles()) {
            if (dir1.isDirectory()) {
                for (File file : dir1.listFiles()) {
                    if (file.getName().endsWith(".txt")) {
                        file.renameTo(new File(dir.getPath()+File.separator+"d"+file.getName()));
                    }
                }
            }
        }

------解决方案--------------------
public static void main(String[] args) {
findAndMoveTo("d:/test","txt","123");
}

public static void findAndMoveTo(String path,String type,String prefix) { 
 File dir = new File(path);
        for (File dir1 : dir.listFiles()) {
            if (dir1.isDirectory()) {
                for (File file : dir1.listFiles()) {
                    if (file.getName().endsWith(type)) {
                        file.renameTo(new File(dir.getPath()+File.separator+prefix+file.getName()));
                        file.delete();
                    }
                }
            }
        }
    }