gpt4 book ai didi

java - 重命名后 tempfile 给出错误的绝对路径

转载 作者:行者123 更新时间:2023-12-02 07:01:58 25 4
gpt4 key购买 nike

我正在更改文件的内容,因此我逐行读取文件,替换我想要的内容并逐行写入临时文件。处理整个文件后,我删除原始文件,并将临时文件重命名为原始文件名。像这样

File orginialFile = new File("C:\\java\\workspace\\original.xml");
File tempFile = File.createTempFile("tempfile", ".tmp", new File(C:\\java\\workspace\\"));
while ((str_String = reader.readLine()) != null) {
//read lines and replace and write lines
}
orginialFile .delete();
tempFile.renameTo(new File("C:\\java\\workspace\\original.xml"));

完成此操作后,我请求临时文件的绝对路径 (tempFile.getAbsolutePath();)。但这给了我c:\java\workspace\tempfile3729727953777802965.tmp(每次运行程序时数字都会变化)而不是 c:\java\workspace\original.xml

怎么会呢?

我调试了它,就在我请求绝对路径之前,我检查了 c:\java\workspace (windows explorer) 并且没有临时文件。只有原始文件。

所以进程运行正确,我只是想知道为什么它没有显示重命名的绝对路径。 (我会用它来记录)

谢谢

最佳答案

java.io.File 的文档中,在java.nio.file包的互操作性之前:

Instances of the File class are immutable; that is, once created, the abstract pathname represented by a File object will never change.

因此它不会显示重命名的绝对路径。

关于java - 重命名后 tempfile 给出错误的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16539060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com