java 读取src目录下的配置文件
2015-09-10 16:48
429 查看
原文转自:http://www.tqcto.com/article/code/295339.html目前的代码如下:import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author zcb
*/
public class Test {
public static void main(String args[]) {
Test test = new Test();
InputStream in = null;
Properties props = new Properties();
//第一种方法,取得src下的属性文件,成功
in = test.getClass().getResourceAsStream("/mypropertiestest.properties");
//第二种方法,取得src下的属性文件,相对第一种少了个“/”,注意:error,不行,此时取得的路径是到classes文件夹
// System.out.println("path:"+test.getClass().getResource("mypropertiestest.properties").getPath());
// in = test.getClass().getResourceAsStream("mypropertiestest.properties");
//第三种种方法,通过绝对路径,取得src下的属性文件,成功,但对apusic服务器不大理想,属性文件要拷贝到项目外面
// String filepath = test.getClass().getResource("/").getPath() + java.io.File.separator + "mypropertiestest.properties";
// try {
//// filepath = filepath.substring(1).replaceAll("%20", " ");//or filepath = filepath.replaceAll("%20", " ");
// filepath = URLDecoder.decode(filepath, "UTF-8");
// } catch (UnsupportedEncodingException ex) {
// Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
// }
// try {
// in = new FileInputStream(new File(filepath));
// } catch (FileNotFoundException ex) {
// Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
// }
try {
props.load(in);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
//输出属性文件中的信息
Set set = props.keySet();
Iterator it = set.iterator();
System.out.println("Begin ...");
while (it.hasNext()) {
String key = (String) it.next();
System.out.println(key + "=" + props.getProperty(key));
}
System.out.println("End");
}
}
Java代码 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author zcb
*/
public class Test {
public static void main(String args[]) {
Test test = new Test();
InputStream in = null;
Properties props = new Properties();
//第一种方法,取得src下的属性文件,成功
in = test.getClass().getResourceAsStream("/mypropertiestest.properties");
//第二种方法,取得src下的属性文件,相对第一种少了个“/”,注意:error,不行,此时取得的路径是到classes文件夹
// System.out.println("path:"+test.getClass().getResource("mypropertiestest.properties").getPath());
// in = test.getClass().getResourceAsStream("mypropertiestest.properties");
//第三种种方法,通过绝对路径,取得src下的属性文件,成功,但对apusic服务器不大理想,属性文件要拷贝到项目外面
// String filepath = test.getClass().getResource("/").getPath() + java.io.File.separator + "mypropertiestest.properties";
// try {
//// filepath = filepath.substring(1).replaceAll("%20", " ");//or filepath = filepath.replaceAll("%20", " ");
// filepath = URLDecoder.decode(filepath, "UTF-8");
// } catch (UnsupportedEncodingException ex) {
// Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
// }
// try {
// in = new FileInputStream(new File(filepath));
// } catch (FileNotFoundException ex) {
// Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
// }
try {
props.load(in);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
//输出属性文件中的信息
Set set = props.keySet();
Iterator it = set.iterator();
System.out.println("Begin ...");
while (it.hasNext()) {
String key = (String) it.next();
System.out.println(key + "=" + props.getProperty(key));
}
System.out.println("End");
}
}
在windows下测试通过,Linux没测试,需要进一步研究。 补充:使用ClassLoader.getSystemResourceAsStream("/mypropertiestest.properties")和Thread.currentThread().getContextClassLoader().getResourceAsStream("/mypropertiestest.properties")读取src下的属性文件,通过测试,在windows和Linux下的tomcat和apusic都能成功编程技术。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author zcb
*/
public class Test {
public static void main(String args[]) {
Test test = new Test();
InputStream in = null;
Properties props = new Properties();
//第一种方法,取得src下的属性文件,成功
in = test.getClass().getResourceAsStream("/mypropertiestest.properties");
//第二种方法,取得src下的属性文件,相对第一种少了个“/”,注意:error,不行,此时取得的路径是到classes文件夹
// System.out.println("path:"+test.getClass().getResource("mypropertiestest.properties").getPath());
// in = test.getClass().getResourceAsStream("mypropertiestest.properties");
//第三种种方法,通过绝对路径,取得src下的属性文件,成功,但对apusic服务器不大理想,属性文件要拷贝到项目外面
// String filepath = test.getClass().getResource("/").getPath() + java.io.File.separator + "mypropertiestest.properties";
// try {
//// filepath = filepath.substring(1).replaceAll("%20", " ");//or filepath = filepath.replaceAll("%20", " ");
// filepath = URLDecoder.decode(filepath, "UTF-8");
// } catch (UnsupportedEncodingException ex) {
// Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
// }
// try {
// in = new FileInputStream(new File(filepath));
// } catch (FileNotFoundException ex) {
// Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
// }
try {
props.load(in);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
//输出属性文件中的信息
Set set = props.keySet();
Iterator it = set.iterator();
System.out.println("Begin ...");
while (it.hasNext()) {
String key = (String) it.next();
System.out.println(key + "=" + props.getProperty(key));
}
System.out.println("End");
}
}
Java代码 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author zcb
*/
public class Test {
public static void main(String args[]) {
Test test = new Test();
InputStream in = null;
Properties props = new Properties();
//第一种方法,取得src下的属性文件,成功
in = test.getClass().getResourceAsStream("/mypropertiestest.properties");
//第二种方法,取得src下的属性文件,相对第一种少了个“/”,注意:error,不行,此时取得的路径是到classes文件夹
// System.out.println("path:"+test.getClass().getResource("mypropertiestest.properties").getPath());
// in = test.getClass().getResourceAsStream("mypropertiestest.properties");
//第三种种方法,通过绝对路径,取得src下的属性文件,成功,但对apusic服务器不大理想,属性文件要拷贝到项目外面
// String filepath = test.getClass().getResource("/").getPath() + java.io.File.separator + "mypropertiestest.properties";
// try {
//// filepath = filepath.substring(1).replaceAll("%20", " ");//or filepath = filepath.replaceAll("%20", " ");
// filepath = URLDecoder.decode(filepath, "UTF-8");
// } catch (UnsupportedEncodingException ex) {
// Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
// }
// try {
// in = new FileInputStream(new File(filepath));
// } catch (FileNotFoundException ex) {
// Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
// }
try {
props.load(in);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
//输出属性文件中的信息
Set set = props.keySet();
Iterator it = set.iterator();
System.out.println("Begin ...");
while (it.hasNext()) {
String key = (String) it.next();
System.out.println(key + "=" + props.getProperty(key));
}
System.out.println("End");
}
}
在windows下测试通过,Linux没测试,需要进一步研究。 补充:使用ClassLoader.getSystemResourceAsStream("/mypropertiestest.properties")和Thread.currentThread().getContextClassLoader().getResourceAsStream("/mypropertiestest.properties")读取src下的属性文件,通过测试,在windows和Linux下的tomcat和apusic都能成功编程技术。
相关文章推荐
- Myeclipse10下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3
- Spring MVC源码深入剖析执行流程
- 学习Java 23种设计模式详解笔记之行为型模式(三)
- springmvc checkboxes 回显问题
- Java HashMap并发死循环
- Java HashMap并发死循环
- Eclipse中SVN的安装步骤(两种)和使用方法
- spring mvc+hibernate 实现事务管理(配置文件版)
- Java synchronized 关于…
- java 线程synchronized 线程同步
- Java Swing 中插入图片背景
- java.io.Console的使用以及重定向…
- http://java.sun.com/jstl/core cannot be resolved
- spring mvc+hibernate 实现事务管理(全注解版)
- lombok 简化java代码注解 理解
- java蓝图
- Spring声明式事务
- Java虚拟机内存区域---学习笔记
- Java虚拟机内存区域---学习笔记
- Java 反射概述