java操作属性文件

来源:互联网 发布:物美价廉的淘宝女装店 编辑:程序博客网 时间:2024/06/05 00:45

这几天无所事事,实习的日子里,没人管只能自己看看乱七八糟不知道能不能用的到得东西,可能这些东西一个月以后也就不记得了,可能也用不了那么长时间也就忘了,所以把他写下来以便以后可以有个查看的依据,以及对现在这段时间的一个回忆,实习中的第二周,无聊的日子中。。。。。。。虚度着。。。。

 

下面就是正式来说操作属性文件吧,第一次完整的接触属性文件是在学习Struts中的i18n中的属性文件,隐约记得属性文件的转换都是通过配置文件来读取的,不需要用java代码直接去操作,也就没怎么在意现在就来说说用java怎么来操作

首先介绍一个java.uitl.Properties类,他是继承了Hashtable类的同时还实现了Map接口,那么很明显他就是一个容器,把他当做一个容器来用就可以了,Properties他要来操作文件那么不可避免的要和java的io流有交集了吧,所以他里面的一部分方法就是和io流打交道的了,这么想来他也就不是那么难了。下面看两个例子:

1、读取属性文件中的信息

package com.isoftstone.propertiesfile;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.Properties;public class ReadInfoFile {public static void main(String[] args) {Properties p = new Properties();// 注意路径File f = new File("src/info.properties");FileInputStream fis = null;try {fis = new FileInputStream(f);p.load(fis);//Set<Object> keys = p.keySet();//遍历所有key-valuefor(Object key : p.keySet()){System.out.println(key + " = " + p.get(key));}//根据具体key获取值String str = p.getProperty("first");System.out.println("first = " + str);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {if(fis != null){fis.close();fis = null;}}catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

属性文件:

first=wangwuyisecond=wangluojisuanjithird=isoftstone


2、修改信息

注意:修改前先要读取也就是load一下

package com.isoftstone.propertiesfile;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;/** * 修改先要读取load * @author wangwuyi * */public class WriteInfoFile {public static void main(String[] args) {Properties p = new Properties();File f = new File("src/info.properties");FileOutputStream fos = null; FileInputStream fis = null;try {fos = new FileOutputStream(f,true);fis = new FileInputStream(f);p.load(fis);  // 要添加的内容p.setProperty("fourthly", "hainabaichuan");//修改第二个key-valuep.setProperty("second", "huluobo");//存入文件p.store(fos, "");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{    try {    if(fis != null)    {    fis.close();    fis = null;    }    if(fos != null)    {    fos.close();    fos = null;    }} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}


java读取操作属性文件就简单的记到这里!

原创粉丝点击