[英]Java rename files
I have a list of files and I want to rename them on specific rules.我有一个文件列表,我想根据特定规则重命名它们。 I wrote this code in java, it runs but it doesn't work.我用java编写了这段代码,它运行但不起作用。 It doesn't rename the files.它不会重命名文件。 Please help me.请帮我。
import java.io.File;
public class ChangeName {
public static void main(String[] args) {
File cartella=new File("D:\\LibriInformatica");
File[] listaDiFile=cartella.listFiles();
for (int i=0; i<listaDiFile.length;i++){
if(listaDiFile[i].isFile()){
String[] titolo=listaDiFile[i].toString().split("\\\\");
String[] nomeSplit2;
//Regole di split e rinomino
if(titolo[2].contains("( PDFDrive )")){//rinomino il file se contiene la parola ( PDFDrive eliminandola)
System.out.println("Nome file originale: "+listaDiFile[i].toString());
String[] rinomino1= titolo[2].split("PDFDrive");
titolo[2]=rinomino1[0]+".pdf";
String nomeDefinitivo="D:\\LibriInformatica"+titolo[2];
listaDiFile[i].renameTo(new File(nomeDefinitivo));
System.out.println("Nome file cambiato: "+listaDiFile[i].toString());
}
if(titolo[2].contains("_")){//Rinomino eliminando _
String[] rinomino1= titolo[2].split("_");
titolo[2]=rinomino1[0]+".pdf";
String nomeDefinitivo="D:\\LibriInformatica"+titolo[2];
listaDiFile[i].renameTo(new File(nomeDefinitivo));
}
if(titolo[2].contains("-")){//Rinomino eliminando -
String[] rinomino1= titolo[2].split("-");
titolo[2]=rinomino1[0]+".pdf";
String nomeDefinitivo="D:\\LibriInformatica"+titolo[2];
listaDiFile[i].renameTo(new File(nomeDefinitivo));
}
}
}
}
}
I resolved it.我解决了。 The file renamed must be saved in a different folder, because the system don't rename the original file.重命名的文件必须保存在不同的文件夹中,因为系统不会重命名原始文件。 This is a momentanly solution.这是一个暂时的解决方案。 In the future i will search something for optimize the alghoritm将来我会搜索一些优化算法的东西
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.