JAVA操作属性文件,可进行读、写、更改
2007-09-13 17:17
477 查看
[align=center]JAVA操作属性文件[/align]
[align=left]/*[/align]
[align=left]操作属性文件,可以为我们的程序带来更方便的移植性,下面是一个示例,可以读、写、更改属性[/align]
[align=left]读采用了两种方式,一种是采用Properties类,另外一种是采用资源绑定类ResourceBundle类,[/align]
[align=left]下面是源程序,里面有详细的注释:[/align]
[align=left]*/[/align]
[align=left]import java.io.FileInputStream;[/align]
[align=left]import java.io.FileOutputStream;[/align]
[align=left]import java.util.Properties;[/align]
[align=left]import java.util.ResourceBundle;[/align]
[align=left]/**[/align]
[align=left] *对属性文件(xx.properties)的操作[/align]
[align=left] *注:属性文件一定要放在当前工程的根目录下,也就是放在与src目录在同一个目录下(我的JDevelop[/align]
[align=left] *是这样的)[/align]
[align=left] */[/align]
[align=left]publicclass OperatePropertiesFile {[/align]
[align=left] public OperatePropertiesFile() {[/align]
[align=left] }[/align]
[align=left] /**[/align]
[align=left] *采用Properties类取得属性文件对应值[/align]
[align=left] *@parampropertiesFileNameproperties文件名,如a.properties[/align]
[align=left] *@parampropertyName属性名[/align]
[align=left] *@return根据属性名得到的属性值,如没有返回""[/align]
[align=left] */[/align]
[align=left] private String getValueByPropertyName(String propertiesFileName,String propertyName) {[/align]
[align=left] String s="";[/align]
[align=left] Properties p=new Properties();//加载属性文件读取类[/align]
[align=left] FileInputStream in;[/align]
[align=left] try {[/align]
[align=left] //propertiesFileName如test.properties[/align]
[align=left] in = new FileInputStream(propertiesFileName);//以流的形式读入属性文件[/align]
[align=left] p.load(in);//属性文件将该流加入的可被读取的属性中[/align]
[align=left] in.close();//读完了关闭[/align]
[align=left] s=p.getProperty(propertyName);//取得对应的属性值[/align]
[align=left] } catch (Exception e) {[/align]
[align=left] e.printStackTrace();[/align]
[align=left] }[/align]
[align=left] return s;[/align]
[align=left] }[/align]
[align=left] /**[/align]
[align=left] *采用ResourceBundel类取得属性文件对应值,这个只能够读取,不可以更改及写新的属性[/align]
[align=left] *@parampropertiesFileNameWithoutPostfixproperties文件名,不带后缀[/align]
[align=left] *@parampropertyName属性名[/align]
[align=left] *@return根据属性名得到的属性值,如没有返回""[/align]
[align=left] */[/align]
[align=left] private String getValueByPropertyName_(String propertiesFileNameWithoutPostfix,String propertyName) {[/align]
[align=left] String s="";[/align]
[align=left] //如属性文件是test.properties,那此时propertiesFileNameWithoutPostfix的值就是test[/align]
[align=left] ResourceBundle bundel = ResourceBundle.getBundle(propertiesFileNameWithoutPostfix);[/align]
[align=left] s=bundel.getString(propertyName);[/align]
[align=left] return s;[/align]
[align=left] }[/align]
[align=left] /**[/align]
[align=left] *更改属性文件的值,如果对应的属性不存在,则自动增加该属性[/align]
[align=left] *@parampropertiesFileNameproperties文件名,如a.properties[/align]
[align=left] *@parampropertyName属性名[/align]
[align=left] *@parampropertyValue将属性名更改成该属性值[/align]
[align=left] *@return是否操作成功[/align]
[align=left] */[/align]
[align=left] privateboolean changeValueByPropertyName(String propertiesFileName,String propertyName,String propertyValue) {[/align]
[align=left] boolean writeOK=true;[/align]
[align=left] Properties p=new Properties();[/align]
[align=left] FileInputStream in;[/align]
[align=left] try {[/align]
[align=left] in = new FileInputStream(propertiesFileName);[/align]
[align=left] p.load(in);//[/align]
[align=left] in.close();[/align]
[align=left] p.setProperty(propertyName,propertyValue);//设置属性值,如不属性不存在新建[/align]
[align=left] //p.setProperty("testProperty","testPropertyValue");[/align]
[align=left] FileOutputStream out=new FileOutputStream(propertiesFileName);//输出流[/align]
[align=left] p.store(out,"Just Test");//设置属性头,如不想设置,请把后面一个用""替换掉[/align]
[align=left] out.flush();//清空缓存,写入磁盘[/align]
[align=left] out.close();//关闭输出流[/align]
[align=left] } catch (Exception e) {[/align]
[align=left] e.printStackTrace();[/align]
[align=left] }[/align]
[align=left] return writeOK;[/align]
[align=left] }[/align]
[align=left] publicstaticvoid main(String[] args) {[/align]
[align=left] OperatePropertiesFile operatePropertiesFile = new OperatePropertiesFile();[/align]
[align=left] operatePropertiesFile.changeValueByPropertyName("db.properties","DBLocation","D://Palfinger//palfinger.mdb");[/align]
[align=left] }[/align]
[align=left]}[/align]
假如有一个属性文件db.properties如下:
DBLocation=D/://Palfinger//palfinger.mdb
相关文章推荐
- JAVA操作属性文件,可进行读、写、更改
- HDFS java操作(二)FileStatus 获取文件属性,globStatus 进行路径过滤
- JAVA操作属性文件
- 在Java 7里如何对文件进行操作
- 4000 hadoop入门(三)之 javaAPI操作Hdfs,进行文件操作
- java操作MongoDB:使用GridFS对文件进行操作
- rhel6文件系统属性更改相关操作
- Java对xls文件进行读写操作示例代码
- Java语言操作FTP服务进行文件的处理
- JAVA读取XML文件并利用该文件对数据库进行配置操作
- Java操作属性文件
- java创建TXT文件并进行读、写、修改操作
- java中以JDOM4的方式来对xml文件对象进行解析操作
- java代码操作properties属性文件
- Java创建TXT文件并进行读、写、修改操作
- Java本地文件操作(四)文件属性的设置
- Java 如何对文件进行多个Object对象流的读写操作
- java创建TXT文件并进行读、写、修改操作
- Java实现调用Jerasure库对文件进行编解码操作
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作