在输出Java之前更改文件名及其扩展名

Bes*_*est 3 java file filepath

假设我在D中有一个文件:其文件路径为:

        D:\work\2012\018\08\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01
Run Code Online (Sandbox Code Playgroud)

目前这个文件的名称没有意义.它没有格式.我希望能够从Java中的上述文件路径创建文件对象,并在将其写入字节之前更改其名称和格式.新路径可能如下:

       D:\work\2012\018\08\mywork.pdf
Run Code Online (Sandbox Code Playgroud)

更改完成后,我仍然可以正常访问原始文件.

我已经知道文件的类型及其名称,因此获取这些细节不会有问题.

Avi*_*gal 10

只需重命名文件:

File file = new File(oldFilepath);
boolean success = file.renameTo(new File(newFilepath));
Run Code Online (Sandbox Code Playgroud)

您也可以只提供一个文件名并使用与当前文件相同的父文件:

File file = new File(oldFilepath);
file.renameTo(new File(file.getParentFile(), newFilename));
Run Code Online (Sandbox Code Playgroud)


Jes*_*per 5

目前还不清楚你究竟想要什么; 我希望这个答案对你有用.

假设您有一个java.io.File表示的对象D:\work\2012\018\08\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01,并且您希望拥有一个File表示的对象D:\work\2012\018\08\mywork.pdf.您已经知道新文件名,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");
Run Code Online (Sandbox Code Playgroud)