利用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

posted on 2017-07-23 22:25  zhangjinru123  阅读(449)  评论(0编辑  收藏  举报