概述
本人遇到的问题,作为笔记将过程记录一下。
前提:
由于项目需要,本人使用MAVEN来构建项目,因此,目录结构中会自动生成以下的几个目录:
src/main
src/resource
test/main
test/resource
为了以后的扩展,在
src/resource下建立包(例:cn.sh.property),作成了一个配置文件(例:test.properties),使用以下在程序来读取文件,结果由于找不到配置文件,读取文件失败。
Class PropertyFileUtils {
public static void main(String[] arg) {
ClassLoader cl = PropertyFileUtils.class.getClassLoader();
Properties props = new Properties();
try
{
InputStream inputStream = null;
try
{
inputStream = cl.getResourceAsStream(
"test.properties"); --------1.此处为属性文件PaTH
props.load( inputStream );
}
finally
{
if (inputStream != null)
{
inputStream.close();
}
}
}
catch (IOException ioe)
{
System.err.println("Cannot get default properties: " + ioe.getMessage());
}
}
一开始找不到配置文件的路径,所以对cl 进行监视,结果发现工程的URL路径不正确(例:{工程路径}targettest-classes),就去查看工程的【属性】--》[JAVA
的编译路径】,在[SOURCE]中,果然发现出力的路径不正确认,修改成:{工程路径}targetclasses),之后又将上述1的地方改为(/cn/sh/property/test.properties)就基本上成功了。
POINT:
1.虽然在MAVEN工程中,自动生成了SRC/MAIN等文件夹,但它与最终出力文件的PACKAGE没有关系,如:在SRC/MAIN下,作成PACKAGE(如:cn.sh),在出力的目录下面,直接会生成cnsh的文件夹,而不会有生成的它们的父目录SRC/MAIN
2.一定要确认好出力的目录
3.配置文件不一定要放在出力文件下面,如:放在SRC/RESOURCE中,作成cn.sh/aa.propeties文件时,在MAVEN编译后,会自动将cn.sh/aa.propeties文件放至出力目录中。
4.例中1 的地方,只需要记入文件在出力目录中的相对路径即可。
由于本人使用日文OS,所以,输出路径符为“\”
最后
以上就是缥缈芹菜为你收集整理的java application中配置文件的读取的全部内容,希望文章能够帮你解决java application中配置文件的读取所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复