当我尝试使用Eclipse访问Java中的File对象时,每当访问该文件时,系统都会发送一个FileNotFoundException。我已经手动创建了该文件,并将其放入Eclipse的文件浏览器中。文件确实有内容,所以问题不在于它是空的。我正在使用以下参数初始化文件
File file = new File(this.getClass().getResource("save.txt").toString());并通过以下方式访问
PrintWriter p = new PrintWriter(file);它会发送错误。堆栈跟踪返回的只有一个创建这个类的初始化路径。例外情况是
java.io.FileNotFoundException: file:\C:\Users\Nathaniel\Downloads\ERPGE-Global%20Equestria%20Workspace\Swarm\bin\main\save.txt (The filename, directory name, or volume label syntax is incorrect)导致此错误的原因可能是什么?如何修复?
发布于 2012-07-20 19:49:24
提供文件的实际路径并获取文件对象。然后你就可以使用它了。
File file = new File("C:\Users\Nathaniel\Downloads\save.txt");
PrintWriter p = new PrintWriter(file);编辑:
外部化文件名:
在外部文件夹/包中创建属性文件filedetails.properties。
fileName=C:\Users\Nathaniel\Downloads\save.txt访问资源包。
ResourceBundle b=ResourceBundle.getBundle("external.filedetails") ;
String fileName=b.getString("fileName");
File file=new File(fileName);发布于 2012-07-20 19:56:29
您需要确保资源包含在项目的构建路径中。
您可以通过以下两种方法之一完成此操作:
就我个人而言,我更喜欢选项1。
编辑:您可能还会发现res文件夹的子目录很有用。如果您有一个诸如res/images/button.png的文件,并且您已经将res文件夹添加到构建路径中,那么您需要使用字符串"images/button.png“来访问该文件。
编辑2:修复了一些误导性的信息。
发布于 2014-04-18 08:10:45
文件需要放在父项目文件夹本身中,而不是源文件夹中。如果文件是在没有指定文件路径的情况下创建的,则该文件将存储在此处。
https://stackoverflow.com/questions/11578668
复制相似问题