在java中从当前目录读取文件
我有一个java项目,我正在读取一个文件。由于文件位于当前目录中,我正在执行以下操作:在java中从当前目录读取文件,java,file,Java,File,我有一个java项目,我正在读取一个文件。由于文件位于当前目录中,我正在执行以下操作: String dataset = "./myFile.dat"; 但是我得到:java.io.FileNotFoundException说它找不到文件 如何解决这个问题?当我给出整个路径时,它会工作 String dataset = "C:\\eclipse\\workspace\\p1\\src\\myFile.dat"; 试试这个: String dataset = System.getPropert
String dataset = "./myFile.dat";
但是我得到:java.io.FileNotFoundException
说它找不到文件
如何解决这个问题?当我给出整个路径时,它会工作
String dataset = "C:\\eclipse\\workspace\\p1\\src\\myFile.dat";
试试这个:
String dataset = System.getProperty("user.dir") + "/myFile.dat";
如果
myFile.dat
是一个应用程序资源,那么它应该包含在应用程序运行时类路径上的Jar中。然后,可以使用..形成资源的URL
URL urlToData = this.getClass().getResource("path/in/jar/to/myFile.dat");
不要依赖
user.dir
属性。取决于应用程序的运行方式。启动时,它可能会指向与应用程序或数据目录非常不同的地方。如果预先添加System.getProperty(“user.dir”)
,会发生什么情况?这可能会有所帮助这是一种脆弱的方法。请参阅我的答案,以及@Talnocolas链接的线程以了解更多详细信息。-1起初,我没有注意到文件名前面的/
。这一点更加脆弱。文件(文件,字符串)
构造函数将考虑不同平台上的不同分隔符。要构造文件对象的String
表示形式(我不推荐),请使用System.getProperty(“file.separator”)
。