java批量修改文件名--beta1

java批量修改文件名--beta1

公司数据文件时标不对,所有的文件必须要修改文件名来对应时标。
所以就写下了这个批量修改文件名的程序。
我的这个文件修改是很有规律的,所以在看之前首先问下你的那个有没有规律。
如果没有的话,可以采用弄一个数据库table来进行修改。
一下是源代码:
package  com.duduli.li;

import  java.io.File;

/*
 * @duduli
 * 把需要修改的文件放在f:\filedir下面,生成的文件会在D:\1文件夹下面。
 * 错误一:没按时间进位,会出现09_20091020_DI02_425.xml.gz,和09_20091020_DI02_125.xml.gz.的文件。
对于125的文件不必修改前面的20091020,只需要把125改为101就可以了,但是对于425的文件就需要修改时间了把时间推后一天改为09_20091021_DI02_401.xml.gz.。


 
*/
public   class  ReFileName {

    
public   static   void  findFile(String filePath) {
        File file 
=   new  File(filePath);
        
if  (file.isDirectory()) {
            String[] fileDir 
=  file.list();
            String fileNameWithPath;
            
for  ( int  i  =   0 ; i  <  fileDir.length; i ++ ) {
                String fileNewName 
=   "" ;
                System.out.println(file.getAbsolutePath() 
+   " \\ "   +  fileDir[i]);
                fileNameWithPath 
=  file.getAbsolutePath()  +   " \\ "   +  fileDir[i];
//                 文件时间推后一个小时
                 int  addOne  =  Integer.parseInt(fileDir[i].substring( 14 16 ))  +   1 ;
                
//  String addOneToString = addOne + "";
                 if  (addOne  <=   9 ) {
                    fileNewName 
=   " 06 "   +  fileDir[i].substring( 2 14 +   " 0 "
                            
+  addOne  +   " .xml.gz " ;
                } 
else  {
                    fileNewName 
=   " 06 "   +  fileDir[i].substring( 2 14 +  addOne
                            
+   " .xml.gz " ;
                }

                
//  String fileNewName = "06"+fileDir[i].substring(2,14);
                System.out.println(fileNewName);
                
//  System.out.println(addOne);
                File f  =   new  File(fileNameWithPath);
                 f.renameTo(
new  File( " d:\\1\\ " + fileNewName));
            }
            
//  File fileAbsPath = new File (file)
            
//  System.out.println(file.getAbsolutePath());
        }  else  {
            String[] fileDoc 
=  file.list();
            
for  ( int  i  =   0 ; i  <  fileDoc.length; i ++ ) {
                System.out.println(
" file dire:  "   +  fileDoc[i]);
            }
        }
    }

    
/**
     * 
@param  args
     
*/
    
public   static   void  main(String[] args) {
        
//  TODO Auto-generated method stub
        findFile( " f:/filedir " );
    }

}
源代码如下,其实思想很简单使用的方法也就只有几个。
三个月没摸Java了感觉都生疏了。
兴趣的话可以将那个跨天和跨月的弄一些,其实也很简单,只是没那么时间。

你可能感兴趣的:(java批量修改文件名--beta1)