java读取properties文件
2016-03-02 09:54
459 查看
一、在src目录下面建立一个test.properties的测试文件
id=0001 username=root password=123456 url=http\://localhost\:1306/spring
二、新建一个PropertiesTest.java的测试类
三、运行结果
运行test();方法结果:
运行test02();方法结果:
password---123456 url---http://localhost:1306/spring id---0001 username---root
四、可以应用的场景: 编写一个通用的方法,在不修改程序的情况下,可以获取任何数据库的连接
解决方案:把数据库驱动Driver实现类的全类名、url、user、password 放入一个配置文件中,通过修改配置文件的方式实现和具体的数据库解耦。
id=0001 username=root password=123456 url=http\://localhost\:1306/spring
二、新建一个PropertiesTest.java的测试类
package org.properties.test; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.Properties; import org.junit.Test; public class PropertiesTest { /** * @param args */ @Test public void test() { Properties pps = System.getProperties(); pps.list(System.out); } @Test public void test02() throws IOException { InputStream is=PropertiesTest.class.getClassLoader().getResourceAsStream("test.properties"); Properties p=new Properties(); p.load(is); Enumeration enum1 = p.propertyNames();//得到配置文件的名字 while(enum1.hasMoreElements()) { String strKey = (String) enum1.nextElement(); String strValue = p.getProperty(strKey); System.out.println(strKey + "---" + strValue); } } }
三、运行结果
运行test();方法结果:
-- listing properties -- java.runtime.name=Java(TM) SE Runtime Environment sun.boot.library.path=C:\Program Files\Java\jdk1.7.0_79\jre... java.vm.version=24.79-b02 java.vm.vendor=Oracle Corporation maven.multiModuleProjectDirectory=$MAVEN_HOME java.vendor.url=http://java.oracle.com/ path.separator=; java.vm.name=Java HotSpot(TM) 64-Bit Server VM file.encoding.pkg=sun.io user.script= user.country=CN sun.java.launcher=SUN_STANDARD sun.os.patch.level= java.vm.specification.name=Java Virtual Machine Specification user.dir=E:\tools\MyEclipse\MyEclipse 10\Works... java.runtime.version=1.7.0_79-b15 java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.endorsed.dirs=C:\Program Files\Java\jdk1.7.0_79\jre... os.arch=amd64 java.io.tmpdir=C:\Users\duchong\AppData\Local\Temp\ line.separator= java.vm.specification.vendor=Oracle Corporation user.variant= os.name=Windows 8.1 sun.jnu.encoding=GBK java.library.path=C:\Program Files\Java\jdk1.7.0_79\bin... java.specification.name=Java Platform API Specification java.class.version=51.0 sun.management.compiler=HotSpot 64-Bit Tiered Compilers os.version=6.3 user.home=C:\Users\duchong user.timezone= java.awt.printerjob=sun.awt.windows.WPrinterJob file.encoding=UTF-8 java.specification.version=1.7 user.name=duchong java.class.path=E:\tools\MyEclipse\MyEclipse 10\Works... java.vm.specification.version=1.7 sun.arch.data.model=64 java.home=C:\Program Files\Java\jdk1.7.0_79\jre sun.java.command=org.eclipse.jdt.internal.junit.runner... java.specification.vendor=Oracle Corporation user.language=zh awt.toolkit=sun.awt.windows.WToolkit java.vm.info=mixed mode java.version=1.7.0_79 java.ext.dirs=C:\Program Files\Java\jdk1.7.0_79\jre... sun.boot.class.path=C:\Program Files\Java\jdk1.7.0_79\jre... java.vendor=Oracle Corporation file.separator=\ java.vendor.url.bug=http://bugreport.sun.com/bugreport/ sun.cpu.endian=little sun.io.unicode.encoding=UnicodeLittle sun.desktop=windows sun.cpu.isalist=amd64
运行test02();方法结果:
password---123456 url---http://localhost:1306/spring id---0001 username---root
四、可以应用的场景: 编写一个通用的方法,在不修改程序的情况下,可以获取任何数据库的连接
解决方案:把数据库驱动Driver实现类的全类名、url、user、password 放入一个配置文件中,通过修改配置文件的方式实现和具体的数据库解耦。
public static Connection getConnection2() throws Exception{ String driverClass = null; String jdbcUrl = null; String user = null; String password = null; // 读取类路径下的jdbc.properties文件 InputStream in =DBUtil.class.getClassLoader().getResourceAsStream("jdbc.properties"); Properties properties = new Properties(); properties.load(in); driverClass = properties.getProperty("driver"); jdbcUrl = properties.getProperty("jdbcUrl"); user = properties.getProperty("user"); password = properties.getProperty("password"); Driver driver = (Driver)Class.forName(driverClass).newInstance(); Properties info = new Properties(); info.put("user", user); info.put("password", password); Connection connection = driver.connect(jdbcUrl, info); return connection; }
相关文章推荐
- SpringMVC处理JSON
- 【leetcode】【64】Minimum Path Sum
- leetcode 292 Nim Game JAVA
- Java中Synchronized的用法
- Java基础知识一
- 【java】二维码的生成和使用
- java回调函数的使用
- Java代码优化编程
- eclipse打开文件位置插件
- java缩略图
- 在eclipse中将android工程打包成apk 获取正式版本 Android 打包签名 从生成keystore到完成签名
- Java8のStream学习
- java8.Lambda表达式
- struts2工作原理
- 【leetcode】【61】Rotate List
- Java8の字符串操作
- SpringMVC源码解析 - HandlerAdapter - HandlerMethodArgumentResolver
- 同时需要32位和64为的java开发环境解决办法
- Java-No.15 内存泄露和内存溢出问题定位
- java.time时间/日期API