我有一個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