关于java读取properties文件的路径…
2016-06-08 09:23
453 查看
转自: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文件的路径一直模棱两可,晚上百度上查了一下资料然后自己做实验验证了一下,当前做一下记录,与写的不对的欢迎大家留言指正
当前实验工程的目录如上图所示,如果我们要读取的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、JDBC与MySQL数据类型对照
- java 嵌套类总结
- java中的嵌套类
- Java中正则Matcher类的matches()、…
- java正则去掉重复字符
- java 反射机制
- java配置文件的读取
- 使用XStream是实现XML与Java对象的…
- Java FileWriter中文乱码
- Java内存模型
- spring配置详解-连接池配置(转载…
- Java基本数据类型
- JavaWeb防止表单重复提交
- BigDecimal类的加减乘除
- 线性表--顺序储存结构 java实现
- java nio
- spring mvc的详细配置
- 启动eclipse ,出现错误 Java was started but returned exit code=13
- spring集成velocity
- Java-实现多线程下载