0

我将文件的扩展名从 .tmp 重命名为 .xml,但是当我尝试从其他路径访问同一个文件时,它给了我一个文件被锁定的异常。

String filename= "TemporaryFile.tmp";
File file = new File(filename);
String filename1 = file.getPath().replace(".tmp",".xml");
File file1 = new File(filename1);
if(file.renameTo(file1)){
System.out.println("File is successfully renamed");
}

在这里,文件被成功重命名,但被某个进程锁定,无法访问以进行进一步处理。我尝试使用file.canWrite();which 返回 false,甚至尝试使用setReadable()setExecutable()方法修改其状态,但没有任何效果。对此的任何帮助将不胜感激。请注意,我不能使用任何其他 JDK。

4

1 回答 1

0
    String filename= "TemporaryFile.tmp";
    File file = new File(filename);
    String filename1 = file.getPath().replace(".tmp",".xml");
    File file1 = new File(filename1);
    if(file.renameTo(file1)){
        System.out.println("File is successfully renamed");
        System.out.println("Can write file: " + file.canWrite());
        System.out.println("Can write file1: " + file1.canWrite());

    }

输出: 文件已成功重命名

可以写文件:false

可以写file1:真

Java Doc:https : //docs.oracle.com/javase/7/docs/api/java/io/File.html#renameTo(java.io.File) 回发(如果有效)。

于 2018-11-16T04:27:41.813 回答