如何重命名文件java?

时间:2015-12-13 17:23:21

标签: java file

我正在尝试重命名文件夹中的文件。但相反,所有这些都被删除了

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

我做错了什么?为什么所有文件都被删除而不是重命名

3 个答案:

答案 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");
    }
}