1

我确信这是一个相对简单的问题,实际上我认为这可能是 Windows 的问题,而不是 Java 的问题。

我有一种将文件复制到新目录的方法,该方法需要两个 File 对象,一个使用原始路径创建的 File,以及一个使用所需副本路径创建的 File。我确信该方法有效,因为我已经使用它成功地将文件复制到我的桌面上。

但是,使用我实际所需的路径会产生错误:

java.io.FileNotFoundException: PATH (系统找不到指定的路径)

PATH我尝试使用的路径在哪里。

这是我的猜测:我正在制作这个程序以在另一台机器上使用。因此,我尝试使用的路径是:

C:\Users\XXXXXX\res​​t_of_path\filename.file

XXXXXX我正在为其编写程序的机器上的主要用户在哪里。

该目录存在于我的系统上,但XXXXXX不是我系统上的用户。所以我猜测Windows正因此而导致问题。

我现在正在更改我的代码以使用取决于机器的解决方案,而不是硬编码(System.getProperty)。

但是,作为 Windows 和 Java 用户,从学术的角度来看,我真的很想知道为什么会出现这个问题。

提前致谢。

编辑:当我的意思是双反斜杠时,不小心使用了正斜杠。为了确保它不是拼写错误,我只是使用 Windows 复制了目录,并将其粘贴到我的程序中(然后在反斜杠上加倍)。

编辑:一些用户提出的建议比我最初尝试做的要干净得多。我将这个问题悬而未决,因为我很好奇它为什么不起作用。

编辑:我使用了上面的解决方案,我对此非常满意。我仍然不知道为什么 Windows 不允许我访问原始路径,但我想我现在真的不在乎。谢谢大家!

4

1 回答 1

2

在 java 和大多数编程语言中,您不必总是提供文件的确切目录。虽然很高兴看到您用于获取文件的代码,但我将提供如何完成它。

我假设您没有使用new File("file.txt"),因为它会从您的程序所在的文件夹中检索文件,并且不需要像C:\...\...\.... 您当然不想使用整个地址,因为不同的操作系统显然使用不同的路径。

您可以做的最好的事情是将您的文件和请求的文件夹放在与您的程序相关的某个位置(无论是类文件还是 .jar 文件)。

但是对于 Windows,您可以确保System.getProperty("...")您可以检索目录 URL 作为文件/文件夹的相对路径。

System.getProperty 文档在这里:http ://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

我可能根本没有帮助或回答你的问题。但希望你能找到解决办法。

于 2013-08-19T22:25:15.573 回答