类为java是跨平台的,所有配置文件不可能是绑定到任何一个平台上的,其配置文件也要有自己的一套东西.
不可能是.ini等这样的格式,而是properties.
1。使用java.util.Properties类的load()方法示例:InputStreamin=lnewBufferedInputStream (newFileInputStream(name));Propertiesp=newProperties();p.load(in);
2。使用java.util.ResourceBundle类的getBundle()方法示例:ResourceBundlerb=ResourceBundle.getBundle(name,Locale.getDefault());
3。使用java.util.PropertyResourceBundle类的构造函数示例:InputStreamin= newBufferedInputStream(newFileInputStream(name));ResourceBundlerb=newPropertyResourceBundle(in);
4。使用class变量的getResourceAsStream()方法示例:InputStreamin= JProperties.class.getResourceAsStream(name);Propertiesp=newProperties();p.load(in);
5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream ()方法示例:InputStreamin=JProperties.class.getClassLoader(). getResourceAsStream(name);Propertiesp=newProperties();p.load(in);
6。使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法示例: InputStreamin=ClassLoader.getSystemResourceAsStream(name);Propertiesp=newProperties();p.load(in);
补充 Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法示例: InputStreamin=context.getResourceAsStream(path);Propertiesp=newProperties();p.load(in);
==============================================================================================================
在properties文件中储存的是key和value类似java类里的Map,key和value之间用=号或者:分开。当要进行多行输入时用\号来进行换行。如:
sina=http://www.sina.com.cn
blogjava=http://www.blogjava.net
在properties中保存最多的是jdbc中的参数如jdbcdriver,url,user和password,
jdbcdriver=com.mysql.jdbc.Driver
jdbcurl=jdbc:mysql://[host:port],[host:port].../[database]
jdbcuser=mysql
jdbcpassword=root
Java中提供了一个java.util.Properties工具类,使用Properties类您可以方便的从一个.properties属性文件中读取设置参数,示例代码如下:
Properties props = new Properties(); ==========================>Properties为一个Map集合
props.load(new FileInputStream("filename.properties")); ================>使用的是绝对路径
String value = props.getProperty("propertyname");
如果您的.properties文件打包入一个Jar或War文件,您可以使用ClassLoader的getResourceAsStream()方法得到一个InputStream对象,示例代码如下:
Properties props = new Properties();
props.load(getClass().getResourceAsStream("com/company/application/application.properties"));
================>使用的是虚拟路径,虚拟路径相对于工程来说的,一般相对于src文件
String value = props.getProperty("propertyname")
==============================================================================================================
详细用法:
//根据key读取value
public static String readValue(String filePath,String key) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
String value = props.getProperty (key);
System.out.println(key+value);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//读取properties的全部信息
public static void readProperties(String filePath) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
Enumeration en = props.propertyNames(); //propertyNames()方法返回一枚举的集合
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = props.getProperty (key);
System.out.println(key+Property);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//写入properties信息
public static void writeProperties(String filePath,String parameterName,String parameterValue) {
Properties prop = new Properties();
try {
InputStream fis = new FileInputStream(filePath);
prop.load(fis);
OutputStream fos = new FileOutputStream(filePath);
prop.setProperty(parameterName, parameterValue);
prop.store(fos, "Update '" + parameterName + "' value");
} catch (IOException e) {
System.err.println("Visit "+filePath+" for updating "+parameterName+" value error");
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huaiyu2006/archive/2009/05/09/4163045.aspx
分享到:
相关推荐
主要介绍了Java中Properties类的操作实例详解的相关资料,需要的朋友可以参考下
主要介绍了Python实现读取Properties配置文件的方法,结合实例形式分析了Python读取Properties配置文件类的定义与使用相关操作技巧,需要的朋友可以参考下
sun从J2ME中去除了J2SE中的Properties相关类,所以J2ME不能直接使用现成自带的包实现Properties的相关功能,这里将介绍如何在J2ME中实现类似于J2SE中的类Properties的功能!本文包含了详尽的说明加代码!
本文通过看《Java编程思想》和一些网友的博客总结而来,只为简单介绍Properties类的相关操作。 一、Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置...
主要介绍了Java实现的properties文件动态修改并自动保存工具类,可实现针对properties配置文件的相关修改与保存功能,需要的朋友可以参考下
主要介绍了MyBatis Properties及别名定义实例详解,需要的朋友可以参考下
Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。本文使用java读取这些属性,看下面详细介绍吧
主要介绍了详解SpringMVC加载配置Properties文件的几种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
本篇文章主要介绍了Java项目中读取properties文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
主要介绍了Java读写.properties文件解决中文乱码问题,非常具有实用价值,需要的朋友可以参考下
主要介绍了Java加载properties文件实现方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Java 读取、获取配置文件.properties中的数据,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了java用类加载器的5种方式读取.properties文件,详细的介绍了这5种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了JSP 中Spring的Resource类读写中文Properties实例代码的相关资料,需要的朋友可以参考下
java加载属性配置文件[properties文件]什么是properties文件为什么要使用properties文件使用java加载properties文件的两种方式使用类的加载器获得输入流加载文件getResourceAsStream()介绍使用文件输入流加载文件...
Properties类是 键和值均为字符串的可以永久存储到文件中的key-value集合。这篇文章主要介绍了IDEA使用properties配置文件进行mysql数据路连接 ,需要的朋友可以参考下
为您提供Batch Edit Office Properties Office属性编辑下载,Batch Edit Office Properties是一款体积小巧简单实用的Office属性批量编辑软件,用户能够通过Batch Edit Office Properties查找和替换Microsoft Office...
主要介绍了Android 数据存储之 FileInputStream 工具类及FileInputStream类的使用的相关资料,需要的朋友可以参考下
个简介暂介绍章分类全部博(290)web服务器(3)资料(3)影(1)络情(10)未分配的博(132)章存档2016年(5)2013年(1)2012年(6)20
程序的自定义设置是一个重要的功能,...本文介绍了用JAXB来实现Java程序配置,JAXB即Java Architecture for XML Binding,xml在java语言中的一个新规范,可以方便的从xml文件到java类,以及从java类到xml文件的转换。