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

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


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

关于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 >




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值