【发布时间】:2016-02-28 13:31:18
【问题描述】:
程序:
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。我为自己犯了这个错误而感到尴尬,但我会记住很长时间。非常感谢你们付出了宝贵的时间。
【问题讨论】:
-
使用 Paths.get() 代替 file.toPath()...
-
Files.copy(src,dtn)- 这是源,目标。 -
@SKG,我们应该更加努力地了解标准库。在这种特殊情况下要记住的一个技巧是将其比作 Unix
cp命令。另一个(非常)好的做法是命名您的变量,以便它们记录您的意图(例如,使用src和dest而不是p1和p2)。
标签: java file copy java-io java.nio.file