我们都知道在编程时,有些参数是不固定的,比如服务器地址,数据库名字等,像这种参数通常要做个配置文件,这样就可以很简单的修改设置了。配置文件可以用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配置文件的方法,涉及java针对properties配置的载入及文件属性读取相关操作技巧,需要的朋友可以参考下
java项目读取配置文件的实例代码,使用class.getClassLoader().getResourceAsStream方法。
这是一个简单实现读取properties、xml格式的配置文件的小案例。虽然实际项目中可能不是这样实现的。作为了解也是不错的。 一、读取properties类型文件 方法一:java.util.ResourceBundle读取properties类型文件; ...
主要介绍了Java 读写Properties配置文件详解的相关资料,这里举例说明该如何实现,具有参考价值,需要的朋友可以参考下
在java应用程序开发中,经常需要读取配置文件来获取系统参数或配置信息。配置文件可以使用xml格式文件,在java中存在.properties文件专门用作配置文件使用。在java中,类Properties用于处理配置文件相关的读取。下面...
主要介绍了Java 读取、获取配置文件.properties中的数据,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了java读取properties文件的方法,实例分析了java操作properties配置文件的相关技巧,需要的朋友可以参考下
主要介绍了Java读取.properties配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文实例讲述了Python实现读取Properties配置文件的方法。分享给大家供大家参考,具体如下: JAVA本身提供了对于Properties文件操作的类,项目中的很多配置信息都是放在了Properties文件。但是Python并没有提供操作...
Android读取properties配置文件的实例详解 因为一些配置信息,多处用到的。且以后可能变更的,我想写个.prorperties配置文件给管理起来。 我把配置文件放在了assets文件夹下 appConfig.properties: serverUrl=...
主要介绍了Java读取.properties配置文件的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
用反射原理 从配置文件中读取数据 public static void main(String[] args) throws Exception{ Properties pro=new Properties(); pro.load(new FileInputStream("fanshe.txt")); //Class c=null; String ...
主要介绍了Java加载properties文件实现方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下: 工作需要将Java项目的逻辑改为python执行,Java的很多配置文件都是.properties的,文件内容的格式是“键.键.键。。。=值”的...
* 私有的构造子,用以保证外界无法直接实例化 */ private ReadConfigation() { m_file = new File(PFILE); m_lastModifiedTime = m_file.lastModified(); if(m_lastModifiedTime == 0){ System.err....
自己学会的,保存的学习网页,给大家分享 struts2 国际化
主要介绍了SpringBoot读取properties或者application.yml配置文件中的数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
实例70 读写Properties文件 170 实例71 配置Properties带附件发送邮件 175 实例72 资源国际化(Properties) 179 常见问题 读取Properties文件出现中文乱码 182 第9章 Java异常处理与反射机制 183 实例73 运用...
实例147 随机读写Java类文件 221 第3篇 Java面向对象编程 第8章 面向对象(教学视频:72分钟) 226 8.1 类 226 实例148 简单的通讯录类 226 实例149 简单的长度单位转换类 227 实例150 卡车和...
实例147 随机读写Java类文件 221 第3篇 Java面向对象编程 第8章 面向对象(教学视频:72分钟) 226 8.1 类 226 实例148 简单的通讯录类 226 实例149 简单的长度单位转换类 227 实例150 卡车和卡车司机之间的关系 229...