2012-01-18 95 views
2

可以說,我已經有了在d文件:其中有一個文件路徑爲:更改文件名和輸出前的擴展它的Java

 D:\work\2012\018\08\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01 

眼前這個文件的名稱是沒有意義的。它沒有格式。我希望能夠從Java的上述文件路徑創建文件對象,並在將它寫入字節之前更改其名稱和格式。新路徑可能如下:

 D:\work\2012\018\08\mywork.pdf 

更改完成後,我應該仍然能夠訪問原始文件的正常情況。

我已經知道文件的類型及其名稱,所以在獲取這些詳細信息時不會有問題。

回答

9

只需重命名文件:

File file = new File(oldFilepath); 
boolean success = file.renameTo(new File(newFilepath)); 

你也可以只給一個文件名,並使用相同的父當前的文件:

File file = new File(oldFilepath); 
file.renameTo(new File(file.getParentFile(), newFilename)); 
4

這不是真的清楚你想要什麼;我希望這個答案對你有用。

假設您有一個java.io.File對象,該對象代表D:\work\2012\018\08\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01,並且您希望有一個代表D:\work\2012\018\08\mywork.pdfFile對象。您已經知道新文件名mywork.pdf,但是您想從原始的File對象中獲取目錄名稱。你可以這樣做:

File original = new File("D:\\work\\2012\\018\\08\\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01"); 

// Gets the File object for the directory that contains the file 
File dir = original.getParentFile(); 

// Creates a File object for a file in the same directory with the name "mywork.pdf" 
File result = new File(dir, "mywork.pdf");