java - Files.copy(src, dst) 抛出 NoSuchFileException

标签 java file copy java-io java.nio.file

程序:

    import java.io.IOException;    
    import java.nio.file.*;    
    import java.io.*;

    public class Copier {
      public static void main(String[] args) 
        {
            try
            {

                File src = new File("C:\\Users\\k\\Desktop\\sandeep.txt");

                File dstn = new File("C:\\Users\\k\\Desktop\\sandeep1.txt");

                Files.copy(src.toPath(), dstn.toPath());

            }
            catch(IOException e) {
                System.out.println(e.toString());
            }
        }

    }

在我的桌面上,sandeep.txt 存在,而 sandeep1.txt 不存在。我在 sandeep.txt 中编写了一些文本,我想将其复制到 sandeep1.txt (创建后)。但是当我尝试这样做时,它抛出异常: java.nio.file.NoSuchFileException: C:\Users\k\Desktop\sandeep1.txt

这个问题已经有人问过,但仍然没有答案,所以我再次问这个问题。提前非常感谢您!

编辑:一开始我尝试了 Files.copy(src, dstn) 但它不起作用,所以我尝试了 Files.copy(dstn, src) 但它仍然不起作用。在这里发帖时我忘了把它改回来。现在我已经改正了。请再看一下。

已解决:我在创建文件时犯了一个错误。我创建了一个新的文本文件并将其命名为 sandeep.txt。因此,该文件的名称实际上是 sandeep.txt.txt。我为自己犯了这个错误感到尴尬,但我会记住它很长时间。非常感谢你们抽出宝贵的时间。

最佳答案

janos 是正确的,您的顺序错误。但是,您可以提供第三个,即带有一些选项的 java.nio.file.CopyOptions 参数,默认值可以在 java.nio.file.StandardCopyOption 中找到。

常见情况如下所示:

Files.copy(p1.toPath(), p2.toPath(), StandardCopyOption.REPLACE_EXISTING);

关于java - Files.copy(src, dst) 抛出 NoSuchFileException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35683140/

相关文章:

java - 进度条不随线程更新

c++ - 检查文件名是有效的 Windows 名称

c - 由于在 C 中打开新文件而导致数据损坏

html - Ico 不会显示在选项卡上

android - onItemClick 监听器未定义方法 copyFile(AssetManager, String, File)

java - org.hibernate.PropertyNotFoundException : Could not find a getter for a property

java - toString 在 Java 中的使用

java - Stream、Map、Reduce……是怎么做到的?

c++ - 将原始 vector 复制到我的 vector 中的问题

javascript - Chrome和Firefox中的 secret 复制到剪贴板JavaScript功能?