我正在尝试重命名文件夹中的文件。但相反,所有这些都被删除了
File thisFolder = new File("C:\\ . . . ");
File [] filesArray = thisFolder.listFiles();
int filesArrayLength = filesArray.length;
if (filesArray != null) {
for (int i = 0; i < filesArrayLength; i++) {
filesArray[i].renameTo(new File("test" + i + ".pdf"));
}
}
我做错了什么?为什么所有文件都被删除而不是重命名
答案 0 :(得分:2)
正如@Pshemo指出的那样,您可能正在将文件移动到当前目录。尝试这样做。这将告诉它在给定的父目录下创建文件:
filesArray[i].renameTo(new File(thisFolder, "test" + i + ".pdf"));//thisFolder is your parent directory
答案 1 :(得分:1)
您可以重命名给定目录中的文件列表的代码示例,如下所示, 假设C:\ Test \ FileToRename是该文件夹,其下列出的文件已重命名为test1.pdf,test2.pdf ......等。
File folder = new File("\\Test\\FileToRename");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
File f = new File("c:\\Test\\FileToRename\\"+listOfFiles[i].getName());
f.renameTo(new File("c:\\Test\\FileToRename\\"+"test"+i+".pdf"));
}
}
答案 2 :(得分:1)
String strFilePath =&#34; C:/ Users /&#34 ;;
public void renameFile(String strOldFileName, String strNewFileName) {
File oldName = new File(strFilePath + "/" + strOldFileName);
File newName = new File(strFilePath + "/" + strNewFileName);
if (oldName.renameTo(newName)) {
System.out.println("renamed");
} else {
System.out.println("Error");
}
}