我正在更改文件的内容,因此我逐行读取文件,替换我想要的内容并逐行写入临时文件。处理完整个文件后,我删除了原始文件,并将临时文件重命名为原始文件名。像这样
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 资源管理器)并且没有临时文件。只有原始文件。
所以这个过程运行正常,我只是想知道为什么它没有显示重命名的绝对路径。(我会用它来记录)
谢谢