如何从类文件夹外部读取java中的属性文件?
2022-09-01 20:05:32
我有以下指向主类的路径结构:
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"));
但是,当尝试从属性文件中获取属性时,这会产生错误。谢谢!