java之properties配置文件的使用

private static String url;

private static String dbUser;

private static String dbPassword;



//获取属性文件中的内容

public static  void getPropertiesParam(String filename) {

// //***方法1。在classpath的目录下(即在src的目录下)用getclassload方法获取

// Properties propes=new Properties();

// try {

// InputStream fis = DBUtil.class.getClassLoader().getResourceAsStream(filename);

// //加载输入流指定的文件

// propes.load(fis);

// //获取文件中对应的键的值

// url=propes.getProperty("url");

// dbUser=propes.getProperty("dbUser");

// dbPassword=propes.getProperty("dbPassword");

//

// System.out.println(url);

// }catch (Exception e) {

//

// }



//*****方法2.不在classpath的目录下(即不在src的目录下),必须使用完整路径

Properties propes=new Properties();

File file=new File(filename);//用这种传统的写法,文件的位置是相对于tomcat/bin目录,相当于在bin目录下的src/xx.properties

try {

FileInputStream fis=new FileInputStream(file);

//加载输入流指定的文件

propes.load(fis);

//获取文件中对应的键的值

url=propes.getProperty("url");

dbUser=propes.getProperty("dbUser");

dbPassword=propes.getProperty("dbPassword");



System.out.println(url);

}catch (Exception e) {



}

}



调用:
String path=getServletContext().getRealPath("/WEB-INF/classes/xx.properties");//绝对路径
DBUtil.getPropertiesParam("/Users/HaokeMaster/Desktop/javatest01/First/src/mysqlUse.properties");//对应上面的方法2;在classpath的目录下(即在src的目录下),这个必须是完整路径

// DBUtil.getPropertiesParam("mysqlUse.properties");//对应上面的方法1;在classpath的目录下(即在src的目录下),直接写文件名加后缀

******* 读取配置的工具类:ConfigUtil

package util;

import java.io.InputStream;
import java.util.Properties;

/**
 * @author HaokeMaster
 *配置文件读取的工具
 *使用:ConfigUtil.getPropertiesParam("mysqlUse.properties");
 *String url=	ConfigUtil.getValue("url");
 */
public class ConfigUtil {
private static	Properties propes=new Properties();
//static代码块: static{}
//static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,
//它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,
//JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次

	//获取属性文件中的内容
		public static  void getPropertiesParam(String filename) {
			//***方法1。在classpath的目录下(即在src的目录下)用getclassload方法获取
		ClassLoader loader=ConfigUtil.class.getClassLoader();//获取类加载器
			try {
				InputStream fis = loader.getResourceAsStream(filename);  
				//加载输入流指定的文件
				propes.load(fis);

			}catch (Exception e) {
	
			}
		
		}
		//获取配置文件中的键值,key是配置文件中的键
		public static String getValue(String key) {
			return propes.getProperty(key);
			
		}
		
		
}

猜你喜欢

转载自blog.csdn.net/u011146511/article/details/87634684