我们都知道在编程时,有些参数是不固定的,比如服务器地址,数据库名字等,像这种参数通常要做个配置文件,这样就可以很简单的修改设置了。配置文件可以用xml,ini,Properties等。Java中没有直接提供专门来读写INI文件的类,Java支持的是.properties文件的读写。JDK内置的 Java.util.Properties 类为我们操作 .properties文件提供了便利。
1、JDK中的Properties类 Properties 类存在于包Java.util中,该类继承自Hashtable。它提供了几个主要的方法:
(1)、load (InputStream inStream) ,从输入流中读取属性列表(键和元素对)。通过对指定的文件进行装载来获取该文件中的所有键-值对。以供getProperty(String key)来搜索。
(2)、getProperty(String key),用指定的键在此属性列表中搜索属性。也就是通过参数key,得到key所对应的value。
(3)、setProperty(String key,String value),调用Hashtable的方法put 。他通过调用基类的put方法来设置 键-值对。
(4)、store(OutputStream out,String comments),以适合使用load方法加载到 Properties 表中的格式,将此 Properties表中的属性列表(键和元素对)写入输出流。与load方法相反,该方法将键-值对写入到指定的文件中去。
(5)、clear() ,清除所有装载的键-值对。该方法在基类中提供。
2、.properties文件的形式(也可以更改为.ini):
#以下为服务器、数据库信息
server = localhost
database = mydb
dbuser = root
dbpw = 123456
#其它信息等
注:#开始的一行为注释信息
以下是一个Properties用法实例:
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream.GetField;
import java.util.Properties;
import java.util.TreeMap;
public class OFile {
//指定文件路径及文件名
private static String fileName = "c:/aa.ini";
private static Properties props=new Properties();
private static InputStream inputFile;
private static FileOutputStream outputFile;
/**
* 根据Key 读取Value
* @param key
* @return
*/
public static String readKey(String key) {
String value="";
try {
inputFile= new BufferedInputStream(new FileInputStream(fileName));
props.load(inputFile);
inputFile.close();
value = props.getProperty(key);
} catch (Exception e) {
e.printStackTrace();
}
return value;
}
public static void setKey(String key, String value){
props.setProperty(key, value);
}
/**
* 修改或添加键值对 如果key存在,修改否则添加。
* @param key
* @param value
*/
public static void saveKey(String comment) {
try {
File file = new File(fileName);
if (!file.exists())
file.createNewFile();
outputFile = new FileOutputStream(fileName);
props.store(outputFile, comment);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
outputFile.close();
} catch (IOException e) {
}
}
}
public static void main(String[] args){
//读取信息
String server=readKey("server");
String mydb=readKey("database");
System.out.println(server);
System.out.println(mydb);
//写入信息
setKey("dbuser", "freezq");
setKey("test", "aaabbbcc");
saveKey("test sava");
}
}
用Properties读写配置文件的确很方便简单,但它跟HashMap是一样的无序,写入的顺序是乱的
本文来自: 免费资源收集网(www.freezq.cn) 详细出处参考:http://www.freezq.cn/article/450.htm
分享到:
相关推荐
利用Java的Properties 类读取配置文件信息! 读取Properties文件的例子
java读写properties配置文件
java读取properties文件的工具类,传入配置文件名字和其中的key就可以读取
java如何读取properties配置文件
通常我们的做法是用配置文件来解决。 各种语言都有自己所支持的配置文件类型。比如Python ,他支持.ini 文件。因为他内部有一个ConfigParser 类来支持.ini 文件的读写,根据该类提供的方法程序员可以自由的来操作....
读取properties文件返回map
使用Java中的Properties类的方法,以及类加载器来读取配置文件中的信息。可以读取.properties文件和.cfg文件。详细代码+注释+测试例子
自己封装的JDBC连接通过properties文件读取配置文件
java对properties配置文件的读和写
主要介绍了java简单读取properties配置文件的方法,涉及java针对properties配置的载入及文件属性读取相关操作技巧,需要的朋友可以参考下
像Python支持的配置文件是.ini文件,同样,它也有自己读取配置文件的类ConfigParse,方便程序员或用户通过该类的方法来修改.ini配置文件。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的...
大家都喜欢把配置文件放在src目录下,如果有10个以上的配置文件为什么不考虑在WEB-INF目录下新建一个文件夹,专门放配置文件;这样即好管理,文件安全性又高。亲问题已经解决,把源代码共享给大家,已经通过测试;...
NULL 博文链接:https://bijian1013.iteye.com/blog/2307358
使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...
【Java 语言】读取 properties 配置文件 ( Java 语言中的 properties 配置文件 | 使用 properties 配置文件 ) https://hanshuliang.blog.csdn.net/article/details/134435350 博客源码
NULL 博文链接:https://liuzidong.iteye.com/blog/776637
java中properties文件读取demo
纯java底层读取配置文件,生成map,可以根据key模糊匹配查询,封装好了方法。比如getVal("spring.dubbo*url")
Java自带的Properties不好用,自己写了一个直接读写类,支持配置文件描述,支持对像值的描述,支持指定文件编码(默认UTF-8)
这是做项目中,集成第三东西需要些配置,我抽取到属性文件中,然后写了个公用类统一调用,基本就是key返回具体值,属性文件位置自己可以调整,然后类中修改获取路径就可以了。目前我的属相文件放置在src下