posts - 70,comments - 408,trackbacks - 0

发个例子大家自己看哈.
package control;

import java.io.bufferedinputstream;
import java.io.fileinputstream;
import java.io.fileoutputstream;
import java.io.ioexception;
import java.io.inputstream;
import java.io.outputstream;
import java.util.enumeration;
import java.util.properties;

public class testmain {
 
 //根据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();
             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);
            //调用 hashtable 的方法 put。使用 getproperty 方法提供并行性。
            //强制要求为属性的键和值使用字符串。返回值是 hashtable 调用 put 的结果。
            outputstream fos = new fileoutputstream(filepath);
            prop.setproperty(parametername, parametervalue);
            //以适合使用 load 方法加载到 properties 表中的格式,
            //将此 properties 表中的属性列表(键和元素对)写入输出流
            prop.store(fos, "update '" parametername "' value");
        } catch (ioexception e) {
         system.err.println("visit " filepath " for updating " parametername " value error");
        }
    }

    public static void main(string[] args) {
     readvalue("info.properties","url");
        writeproperties("info.properties","age","21");
        readproperties("info.properties" );
        system.out.println("ok");
    }
}

posted on 2006-08-21 15:35 我心依旧 阅读(62384) 评论(15)    

feedback:
# re: 用java轻松操作properties文件
2008-05-09 17:02 |
有点收获,嘿嘿。。。  回复  
  
# re: 用java轻松操作properties文件
2008-05-31 11:07 |
不错,这是我需要的,谢谢  回复  
  
# re: 用java轻松操作properties文件
2008-09-02 14:46 |
3q  回复  
  
# re: 用java轻松操作properties文件
2008-09-16 21:46 |
如果是在web项目里面,该如何配置和获取properties文件呢?  回复  
  
# re: 用java轻松操作properties文件
2008-09-18 06:51 |
都不finally的,运行几次就把io挂得死死的了.out少了flush,可能会有写不进去的问题的.  回复  
  
# re: 用java轻松操作properties文件
2008-11-19 15:23 |
对于初学的我来说,一个都看不懂,就知道几个单词
  回复  
  
# re: 用java轻松操作properties文件
2009-01-09 13:52 |
@succ800
你不錯了還看得懂單詞.。  回复  
  
# re: 用java轻松操作properties文件
2009-03-19 14:53 |
哈哈,谢谢,刚好需要这方面的内容  回复  
  
# re: 用java轻松操作properties文件
2010-05-27 20:19 |
支持  回复  
  
# re: 用java轻松操作properties文件
2010-09-16 10:19 |
中文乱码  回复  
  
# re: 用java轻松操作properties文件
2011-02-25 13:48 |
io流都不关?这样的代码好好斟酌一下  回复  
  
# re: 用java轻松操作properties文件
2011-07-05 00:02 |
谢谢  回复  
  
# re: 用java轻松操作properties文件
2011-08-25 14:43 |
@chardrapid
你真2,人家只是给你个例子。  回复  
  
# re: 用java轻松操作properties文件
2012-05-25 15:01 |
@云飞扬
以下估计是你想要的答案。
/**
* @author pengguohui
* @explain以下方法是通过单例模式以及应用反射机制取得属性文件值。
* @date 2012-5-25
*/
private static properties properties = new properties();
static{
try {
poiwordtest.class.getclassloader().getresourceasstream("application.properties");//通过反射机制取得web工程classpath下属性文件
} catch (exception e) {
e.printstacktrace();
}
}
public static string read{
return (string)properties.get(key);
}  回复  
  
# re: 用java轻松操作properties文件
2012-05-25 15:12 |
@pengguohui
忘记给load了。
重新添上代码:
/**
* @author pengguohui
* @explain以下方法是通过单例模式以及应用反射机制取得属性文件值。
* @date 2012-5-25
*/
private static properties properties = new properties();
static{
try {
properties.load(poiwordtest.class.getclassloader().getresourceasstream("application.properties"));//通过反射机制取得web工程classpath下属性文件
} catch (exception e) {
e.printstacktrace();
}
}
public static string read{
return (string)properties.get(key);
}  回复  
  

只有注册用户后才能发表评论。


网站导航:
              
 
网站地图