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();
}
} }
05-11 17:46