java用Properties读写配置文件

来源:互联网 发布:php 二维数组重复替换 编辑:程序博客网 时间:2024/05/12 15:11

<span style="font-size:14px;">Properties类继承Hashtable类并实现了Map接口,用键值对的形式保存属性,且键值对都是以String形式保存。</span><p><span style="font-size:14px;">Properties类中主要方法:</span></p><p><span style="font-size:14px;">load方法:load(InputStream inputStream),将Properties文件对应的inputStream流,加载到Properties一个对象中,</span></p><p><span style="font-size:14px;">store方法:将Properties对象对应的属性列表保存到输出流中。</span></p><p><span style="font-size:14px;">getProperty和setProperty方法:分别获取和设置属性列表</span></p><p><span style="font-size:14px;">java代码如下:</span></p>import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Properties;public class CommonParam {public static String filePath="config.properties";  /**      * 根据KEY,读取文件对应的值      * @param filePath 文件路径,即文件所在包的路径,例如:java/util/config.properties      * @param key 键      * @return key对应的值      */      public static String readData(String key) {           Properties props = new Properties();          try {              InputStream in = new BufferedInputStream(new FileInputStream(filePath));              props.load(in);                         String value = props.getProperty(key);              in.close();            return value;          } catch (Exception e) {              e.printStackTrace();              return null;          }      }      /**      * 修改或添加键值对 如果key存在,修改, 反之,添加。      * @param filePath 文件路径,即文件所在包的路径,例如:java/util/config.properties      * @param key 键      * @param value 键对应的值      */      public static void writeData(String key, String value) {           Properties prop = new Properties();          try {              File file = new File(filePath);              if (!file.exists())                  file.createNewFile();              InputStream fis = new FileInputStream(file);              prop.load(fis);              //一定要在修改值之前关闭fis              fis.close();              OutputStream fos = new FileOutputStream(filePath);              prop.setProperty(key, value);              //保存,并加入注释              prop.store(fos, "Update '" + key + "' value");              fos.close();          } catch (IOException e) {              System.err.println("Visit " + filePath + " for updating " + value + " value error");          }      }}


0 0
原创粉丝点击