利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作。如:对文件进行重命名,对某一类文件进行重编码。可以对某一工程下的全部.java文件进行转码成utf-8等
代码如下,这里只对文件进行重命名操作
package com.zhang.test; import java.io.File; public class getfilepath { public static void main(String[] args) {
getDirectory(new File("E:/背景图"));
}
// 递归遍历
private static void getDirectory(File file) {
File flist[] = file.listFiles();
if (flist == null || flist.length == 0) {
return ;
}
for (File f : flist) {
if (f.isDirectory()) {
//如果是文件夹则继续
getDirectory(f);
} else {
//这里将列出所有的文件
System.out.println(f.getAbsolutePath());
/**
* 在这里则可以对文件进行重命名或者对某一类文件进行重编码,如:对.java文件转码成utf-8
*/
//文件重命名示例如下
String filename= f.getName();
String suffix= filename.substring(filename.lastIndexOf("."), filename.length());
String absolutePath=f.getAbsolutePath();
String path=absolutePath.substring(0,absolutePath.lastIndexOf("\\")+1);
String newname=path+System.currentTimeMillis()+""+suffix;
File newfile=new File(newname);
if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名
System.out.println(newname+"已经存在!");
else{
f.renameTo(newfile);
}
}
}
}
}
对文件重编码看另一篇文章。http://www.cnblogs.com/zhangjinru123/p/7225775.html