【发布时间】:2012-06-28 19:07:59
【问题描述】:
主类的路径结构如下:
D:/java/myapp/src/manClass.java
我想把属性文件放进去
D:/java/myapp/config.properties
其中将包含一个文件名和一些其他配置。我将在属性文件中设置文件名,如下所示:file=file_to_read.txt
此file_to_read.txt 将位于D:/java/myapp/folder_of_file/
主类会先从属性文件中读取文件名,然后再从文件中获取内容。
如果config.properties 和file_to_read.txt 都在src/ 和mainClass.java 中,我可以这样做。但无法以我想要的方式成功。
谁能帮我解决这个问题?如果我想将myapp 文件夹放在我的驱动器中的任何位置,并且内部结构与我上面描述的相同,我需要你的建议我该怎么做,并且程序将正确地完成工作。
我还需要您的建议,如果我想从构建项目后创建的 jar 中完成这项工作,那么我可以毫无问题地做到这一点吗?
我已经尝试如下只是为了读取属性文件:
URL location = myClass.class.getProtectionDomain().getCodeSource().getLocation();
String filePath = location.getPath().substring(1,location.getPath().length());
InputStream in = myClass.class.getResourceAsStream(filePath + "config.properties");
prop.load(in);
in.close();
System.out.println(prop.getProperty("file"));
但是当试图从属性文件中获取属性时,这会出错。 谢谢!
【问题讨论】:
标签: java file file-io properties