Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法移动文件_Java_File_Move - Fatal编程技术网

Java 无法移动文件

Java 无法移动文件,java,file,move,Java,File,Move,我有一个小问题,我想用java移动一个文件,并尝试如下操作: try { String oFile = frame.selectedFMNGR.getPath() + "\\" + em.getFileName(); String nFile = Start.safePath + "\\" + em.getFileName(); System.out.println(oFile);

我有一个小问题,我想用java移动一个文件,并尝试如下操作:

try {
    String oFile = frame.selectedFMNGR.getPath() + "\\" + em.getFileName();
    String nFile = Start.safePath + "\\" + em.getFileName();
                       
    System.out.println(oFile);
    System.out.println(nFile);
    File afile =new File(oFile);
              
    if(afile.renameTo(new File(nFile))){
        System.out.println("File is moved successful!");
    } else {
        System.out.println("Moving failed!");
    }
} catch(Exception ex){
    ex.printStackTrace();
}
但我的日志总是返回失败:

C:\mails\B_Testmail1.eml

C:\Safe\B_Testmail1.eml

移动失败

这里怎么了


编辑:我不想使用像ApacheCommons这样的外部库。我知道这会容易得多。

试试java.nio.file;至少,它失败了。你会知道为什么:

final Path src = Paths.get(frame.selectedFMNGR.getPath(), em.getFileName());
final Path dst = Paths.get(Start.safePath, em.getFileName());

Files.move(src, dst);

尝试使用java.nio.file;至少,它失败了。你会知道为什么:

final Path src = Paths.get(frame.selectedFMNGR.getPath(), em.getFileName());
final Path dst = Paths.get(Start.safePath, em.getFileName());

Files.move(src, dst);

尝试使用java.nio.file;至少,它失败了。你会知道为什么:

final Path src = Paths.get(frame.selectedFMNGR.getPath(), em.getFileName());
final Path dst = Paths.get(Start.safePath, em.getFileName());

Files.move(src, dst);

尝试使用java.nio.file;至少,它失败了。你会知道为什么:

final Path src = Paths.get(frame.selectedFMNGR.getPath(), em.getFileName());
final Path dst = Paths.get(Start.safePath, em.getFileName());

Files.move(src, dst);

代码中没有错误或异常

确保源目录中有要从一个位置移动到另一个位置的文件。i、 e

C:\mails\B_Testmail1.eml

代码中没有错误或异常

确保源目录中有要从一个位置移动到另一个位置的文件。i、 e

C:\mails\B_Testmail1.eml

代码中没有错误或异常

确保源目录中有要从一个位置移动到另一个位置的文件。i、 e

C:\mails\B_Testmail1.eml

代码中没有错误或异常

确保源目录中有要从一个位置移动到另一个位置的文件。i、 e

C:\mails\B_Testmail1.eml


目标文件是否已经存在?你写文件时没有关闭它吗?在这两种情况下,重命名都将在Windows上失败。是否已检查文件在新路径中是否不存在?目标文件是否已存在?你写文件时没有关闭它吗?在这两种情况下,重命名都将在Windows上失败。是否已检查文件在新路径中是否不存在?目标文件是否已存在?你写文件时没有关闭它吗?在这两种情况下,重命名都将在Windows上失败。是否已检查文件在新路径中是否不存在?目标文件是否已存在?你写文件时没有关闭它吗?在这两种情况下,重命名都将在Windows上失败。您是否检查过该文件在新路径中不存在?这对我很有帮助。这个错误实际上表明我的文件仍然处于打开状态。在执行此操作时,请在任何地方使用新的API;)你不会在任何时候回到
文件
,所以我会查看它。实际上我是Java新手,忘了带缓冲区的阅读器。当你工作多年的时候,C++和RAII:D/不要忘记使用资源来帮助我。这个错误实际上表明我的文件仍然处于打开状态。在执行此操作时,请在任何地方使用新的API;)你不会在任何时候回到
文件
,所以我会查看它。实际上我是Java新手,忘了带缓冲区的阅读器。当你工作多年的时候,C++和RAII:D/不要忘记使用资源来帮助我。这个错误实际上表明我的文件仍然处于打开状态。在执行此操作时,请在任何地方使用新的API;)你不会在任何时候回到
文件
,所以我会查看它。实际上我是Java新手,忘了带缓冲区的阅读器。当你工作多年的时候,C++和RAII:D/不要忘记使用资源来帮助我。这个错误实际上表明我的文件仍然处于打开状态。在执行此操作时,请在任何地方使用新的API;)你不会在任何时候回到
文件
,所以我会查看它。实际上我是Java新手,忘了带缓冲区的阅读器。在C++和RAI\\D/D中工作多年后的主要问题,也不要忘记尝试使用资源。