java IO 文件批量重命名

java IO 文件批量重命名

package com.vfsd.renamefile;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/*******************************************************************************************************
 * Copyright: vc1.0 2018. All rights reserved.                    <br>
 * The whole package including this class is licensed under        <br>
 *                                                                 <br>
 * @ClassName:                                        <br>
 * @Directory:                                        <br>
 * @author:           lzb                                    <br>
 * @version:         v1.0.0                                        <br>
 * @date:                                                <br>
 *       
 * @Statement: If you are using the package or parts of it in any commercial way, a commercial license is required. <br>
 *   Visit <a href='http://www.bim-times.com'>http://www.bim-times.com</a> for more information.<br>
 * 
*********************************************************************************************************/
public class RenameFile {
    
    public static void main(String[] args) throws Exception {
        /*
        String fileDirStr = "D:\\�ο��ֲ�\\���\\";
        renameFile(fileDirStr);
        */
        //mergeFile();
        
        String fileDir = "D:\\zy_img_20190916\\1\\";
        String fileDir2 = "D:\\zy_img_20190916\\2\\";
        
        
        renameFile2(fileDir,fileDir2);//图片拷贝并重命名
        //renameFile3(fileDir,fileDir2);//json拷贝并重命名
    }
    
    public static void renameFile(String fileDirStr) throws Exception{
        File fileDir = new File(fileDirStr);
        if(fileDir.isDirectory()) {
            File[] filesList = fileDir.listFiles();
            for(int i=0;i<filesList.length;i++) {
                File fileIndex = filesList[i];
                if(fileIndex.getName().indexOf(".jpg")>0 ||fileIndex.getName().indexOf(".png")>0 ||fileIndex.getName().indexOf(".jpeg")>0||fileIndex.getName().indexOf(".gif")>0) {
                    //String newName=fileDirStr+i+fileIndex.getName().substring(fileIndex.getName().length()-4, fileIndex.getName().length());
                    
                    File fileNew = new File(fileDirStr+i+fileIndex.getName().substring(fileIndex.getName().length()-4, fileIndex.getName().length()));
                    fileIndex.renameTo(fileNew);
                    System.out.println(fileNew.getName());
                }
            }
        }
    }
    
    /**
     * 图片文件拷贝并重命名
     * @param fileDirStr
     * @param fileDir2
     * @throws Exception
     */
    public static void renameFile2(String fileDirStr,String fileDir2) throws Exception{
        File fileDir = new File(fileDirStr);
        if(fileDir.isDirectory()) {
            File[] filesList = fileDir.listFiles();
            for(int i=0;i<filesList.length;i++) {
                File fileIndex = filesList[i];
                if(fileIndex.getName().indexOf(".jpg")>0 ||fileIndex.getName().indexOf(".png")>0 ||fileIndex.getName().indexOf(".jpeg")>0||fileIndex.getName().indexOf(".JPG")>0) {
                    //String newName=fileDirStr+i+fileIndex.getName().substring(fileIndex.getName().length()-4, fileIndex.getName().length());
                    
                    File fileNew = new File(fileDir2+(i+1)+fileIndex.getName().substring(fileIndex.getName().length()-4, fileIndex.getName().length()));
                    fileIndex.renameTo(fileNew);
                    System.out.println(fileNew.getName());
                }
            }
        }
    }
    
    /**
     * JSON文件拷贝并重命名
     * @param fileDirStr
     * @param fileDir2
     * @throws Exception
     */
    public static void renameFile3(String fileDirStr,String fileDir2) throws Exception{
        File fileDir = new File(fileDirStr);
        if(fileDir.isDirectory()) {
            File[] filesList = fileDir.listFiles();
            for(int i=0;i<filesList.length;i++) {
                File fileIndex = filesList[i];
                if(fileIndex.getName().indexOf(".json")>0) {
                    //String newName=fileDirStr+i+fileIndex.getName().substring(fileIndex.getName().length()-4, fileIndex.getName().length());
                    
                    File fileNew = new File(fileDir2+(i+1)+fileIndex.getName().substring(fileIndex.getName().length()-5, fileIndex.getName().length()));
                    fileIndex.renameTo(fileNew);
                    System.out.println(fileIndex.getName()+"     "+fileNew.getName());
                }
            }
        }
    }
    
    /**
     * �Ѷ���ļ����е�ͼƬ�ϲ�
     * @throws IOException
     */
    public static void mergeFile() throws IOException {
        //String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\�_�����ע\\mask_data\\";
        //String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\humanandladder301-350_labeled\\mask_data\\";
        //String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\humanandladder451-600\\mask_data\\";
        //String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\humanandladder601-750\\mask_data\\";
        //String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\humanandladder150-300_labeled\\mask_data\\";
        //String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\maskedhumanandladder901-1050\\mask_data\\";
        //String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\humanandladder751-900\\mask_data\\";
        //String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\humanandladder1201-1350\\mask_data\\";
        String dir1 = "D:\\�ο��ֲ�\\����\\��ע-2019\\humanandladder1051-1200\\mask_data\\";
        
        
        File fileDir = new File(dir1);
        File fileDirs[] = fileDir.listFiles();
        
        for(int i=0;i<fileDirs.length;i++) {
            File fileIndexDir = fileDirs[i];
            if(fileIndexDir.isDirectory()) {
                File fileLists[] = fileIndexDir.listFiles();
                File fileMaskImg = new File(fileIndexDir.getPath()+"\\label.png");
                if(fileMaskImg.exists()) {
                    System.out.println(fileIndexDir.getName().replace("_json", ""));
                    File newFile = new File("D:\\�ο��ֲ�\\����\\��ע-2019\\train_data_20190227\\cv2_mask\\"+fileIndexDir.getName().replace("_json", "")+".png");
                    copyFile(fileMaskImg,newFile);
                }
            }
            
            
        }
        
    }
    
    /**
     * �����ļ�
     * @param oldFile
     * @param newFile
     * @throws IOException
     */
    public static void copyFile(File oldFile,File newFile) throws IOException{
        FileInputStream fileInputStream = null;
        FileOutputStream fileOutputStream = null;
        try {
            fileInputStream = new FileInputStream(oldFile);
            fileOutputStream = new FileOutputStream(newFile);
            byte[] bytes = new byte[1024];
            int index=0;
            
            while((index=fileInputStream.read(bytes))!=-1) {
                fileOutputStream.write(bytes, 0, index);
            }
        }catch(Exception e) {
            e.printStackTrace();
        }finally {
            fileOutputStream.close();
            fileInputStream.close();
        }
    }

}

 

posted @ 2019-09-17 07:31  西北逍遥  阅读(417)  评论(0编辑  收藏  举报