关于java读取properties文件的路径…

Posted yangl517

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java读取properties文件的路径…相关的知识,希望对你有一定的参考价值。

转自: http://longdechuanren.iteye.com/blog/1786419


之前对于JAVA读取properties文件的路径一直模棱两可,晚上百度上查了一下资料然后自己做实验验证了一下,当前做一下记录,与写的不对的欢迎大家留言指正



当前实验工程的目录如上图所示,如果我们要读取的properties文件是放到classpath目录下(即放到src目录下,eclipse会将其自动编译到bin\\目录下)这个是比较容易的看下面的代码:


package org.guo.leaning.path;

import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;

public class ReadFile
      public static void main(String[] args) throws Exception
System.err.println(ReadFile.class.getResource(""));

            System.err.println(ReadFile.class.getResource("/"));
           
           
     
     


private static String getPropsValue(String key) throws Exception
InputStream inputStream = ReadFile.class.getClassLoader().getResourceAsStream("11.properties");

            props.load(inputStream);
            return props.getProperty(key);




//上述的情况都是在properties文件在classpath的情况下,使用的,如果我有个个properties文件不再classpath目录下,比如:我在项目根路径下建立了一个文件夹config里面有个11.proerties文件,那么我们该如何加载呢,此时我们就不能使用classLoader的相关方法了,因为他只能找classpath路径下的:

private static String getPropsValue(String key) throws Exception
            Properties props = new Properties();
            File f = new File("E:\\\\workspace\\\\practice\\\\config\\\\11.properties");
            props.load(new FileInputStream(f));
                      props.load(inputStream);
            return props.getProperty(key);
     




最后一个文件夹会不会包含在classpath路径下,主要在应用的.classpath文件下配置 如下:

< ?xml version="1.0" encoding="UTF-8"? >
< classpath >
      < classpathentry kind="src" path="src" />
      < classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" />
      < classpathentry kind="output" path="bin" />
</ classpath >




以上是关于关于java读取properties文件的路径…的主要内容,如果未能解决你的问题,请参考以下文章

java读取properties配置文件路径问题

java web工程中读取properties文件,路径一直不知道怎么写

关于logback如何通过当前配置文件获取路径

java web中读取properties文件时的路径问题

java读取项目根路径下和任意磁盘位置下的properties文件

java 读取properties文件