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(); } } }