java 路径 配置文件读取

这几天做一个项目,关于路径做如下笔记,有需要供参考。

取工程内的文件,一般都要用相对路径,这个自然不用多说。

在src统计目录建配置文件目录res,在res中放入配置文件。
读取文件使用方式:
1. MyTest.class.getResourceAsStream("/res/xx.properties")
2. properties.load(MyTest.class.getClassLoader().getResourceAsStream("res/xx.properties"));

看清楚文件地址的区别,一个"/"
1.MyTest累的路径在bin下的包内。如:/serverSocketTest/bin/com/uisftech/test/

2. ClassLoader的加载路径在bin下
如:/serverSocketTest/bin/

这样在eclipse中运行肯定的没有问题。但是我的项目要求打成jar包,如果只是读取配置文件,肯定没有问题,但是如果是写入就会有问题,因为jar在运行,它是一个文件,一个文件运行时不能写入,这样文件就要拿到jar包外面

这样读取文件就要使用如下方式:registerConfig.load(new FileInputStream("registerConfig.properties"));

如果不写入文件,打成jar包读取文件不能使用这种方式:registerConfig.load(new FileInputStream(ClientService.class.getClassLoader().getResource("registerConfig.properties").getFile()));
因为读取jar内的文件路径不是标准路径,这样方式会报错。

供参考。

你可能感兴趣的:(java)