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

标签 java file

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

到目前为止我的代码是,

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

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

最佳答案

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

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

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

关于java - 重命名文件并返回新文件指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48455063/

相关文章:

java - 为什么这个带有 Salt 的 MD5 结果在结果字符串的末尾有 "=="?

c - 如何在 C 中只读取文件中的数字直到 EOF

c# - append 到文本文件(不覆盖!)

linux - 如何根据第一列值对齐 3 个文件

java - 如何在 HashMap 或 TreeMap 中允许重复键?

java - 应用程序 setBackground() 错误 : incompatible types: int cannot be converted to Drawable

Java 程序在 Resultset.next() 之前终止

java - 在 Eclipse 中获取我的项目的库

java - 创建 FIle Java 时转义正斜杠

Java:如何导出使用 .txt 文件的程序?