簡體   English   中英

在java中重命名文件

[英]Renaming file in java

我嘗試使用我在此處找到的代碼重命名文件:

File newFile = new File(oldFile.getParent(), "new-file-name.txt");
Files.move(oldFile, newFile);

現在,我做的是這樣的:

  private void stFiles() {
    System.out.println("sorting");
    File f = new File (getName());
    name = getName() + counter.toString();
    System.out.println(f.getName());
    File newFile = new File(f.getParent(), getName()+ ".jpg");
    try {
        Files.move(f, newFile);
    } catch (IOException ex) {
        System.out.println("made file");
    }
    counter +=1;
}

現在,我得到了“make file”打印,這意味着存在IO-Exception。 但是,堆棧跟蹤不可讀。

這可能是什么原因?

您可以使用File對象中已存在的renameTo方法,如下所示:

File myOriginalFile=new File("myOriginalFile.txt");
    File myChangedFile=new File("myChangedFile.txt");



    if(myOriginalFile.renameTo(myChangedFile)){
        System.out.println("Rename operation succesful");
    }else{
        System.out.println("Rename operation failed");
    }

首先,Java允許您使用java.io.File類中的renameTo(文件文件)方法重命名文件。

首先,獲取要重命名的文件的引用。 其次,使用File參數在該引用上調用renameTo()方法。 假設您有一個名為file1.txt的文件,並且您想將其重命名為file2.txt。

下面的代碼行顯示了它是如何完成的:

//Obtain the reference of the existing file
File oldFile = new File("file1.txt"); 

//Now invoke the renameTo() method on the reference, oldFile in this case
oldFile.renameTo(new File("file2.txt"));

如果您的文件位於Windows共享上,則可能會遇到使用File.renameTo()方法的問題。

更強大的解決方案是使用Apache Commons IO FileUtils.moveFile()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM