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