我有一个Java项目,我在读取文件。由于该文件是在当前目录下我这样做:从java当前目录读取文件
String dataset = "./myFile.dat";
但我得到:java.io.FileNotFoundException
说,它不能找到该文件。
如何解决这个问题?当我给它的工作原理整个路径...
String dataset = "C:\\eclipse\\workspace\\p1\\src\\myFile.dat";
我有一个Java项目,我在读取文件。由于该文件是在当前目录下我这样做:从java当前目录读取文件
String dataset = "./myFile.dat";
但我得到:java.io.FileNotFoundException
说,它不能找到该文件。
如何解决这个问题?当我给它的工作原理整个路径...
String dataset = "C:\\eclipse\\workspace\\p1\\src\\myFile.dat";
如果myFile.dat
是一个应用程序的资源,它应该包含在一个罐子里是在运行时类 - 应用程序的路径。然后,一个URL的资源可以利用..
URL urlToData = this.getClass().getResource("path/in/jar/to/myFile.dat");
不要依靠user.dir
财产形成。取决于应用程序的方式。它可能指向与应用程序或数据目录完全不同的地方。
试试这个:
String dataset = System.getProperty("user.dir") + "/myFile.dat";
这是一个脆弱的方法。查看我的答案,以及由@talnicolas链接的线索以获取更多详细信息。 –
-1起初,我没有注意到文件名前的'/'。这甚至更*脆弱。 'File(File,String)'构造函数将考虑不同平台上的不同分隔符。为了构建文件对象的'String'表示(我不推荐),使用'System.getProperty(“file.separator”)''。 –
如果预先添加System.getProperty(“user.dir”),会发生什么? – cwallenpoole
也许这可以帮助http://stackoverflow.com/questions/1480398/java-reading-a-file-from-current-directory – talnicolas