重命名文件并返回新文件指针

时间:2018-01-26 02:39:05

标签: java file

我有一段代码,我从URL检索文件并将其保存到临时文件夹。对于我的用例,我需要文件名是一个特定的字符串,例如' filename'。

到目前为止,我的代码是,

try (AutoDeletingFile fileToUpload = new AutoDeletingFile(pullFile(fileUrl))) {
        fileToUpload.getFile().renameTo(new File(filename));
}

但是当我使用fileToUpload.getName重命名时,它仍然给我原始文件名。在重命名时,是否有一种干净的方法来获取新文件的文件指针?

1 个答案:

答案 0 :(得分:1)

因为fileToUpload.getFile()只返回值,而不是引用。因此,要更新实际文件,您需要:

File file = fileToUpload.getFile();
file.renameTo(new File(filename));
fileToUpload.setFile(file);

setFile()内,您将File内的fileToUpload变量替换为新变量。