zoukankan      html  css  js  c++  java
  • ·Java读取properties文件

    Java对properties配置文件的操作

    /*
     * Created on 2005-1-4
     *
     * TODO To change the template for this generated file go to
     * Window - Preferences - Java - Code Style - Code Templates
     */
    package com.yorsun;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Properties;

    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServlet;

    /**
     * @author Administrator
     *
     * TODO To change the template for this generated type comment go to Window -
     * Preferences - Java - Code Style - Code Templates
     */
    public class PropertiesUnit {
     private String filename;

     private Properties p;

     private FileInputStream in;

     private FileOutputStream out;

     public PropertiesUnit(String filename) {
      this.filename = filename;
      File file = new File(filename);
      try {
       in = new FileInputStream(file);
       p = new Properties();
       p.load(in);
       in.close();
      } catch (FileNotFoundException e) {
       // TODO Auto-generated catch block
       System.err.println("配置文件config.properties找不到!");
       e.printStackTrace();
      } catch (IOException e) {
       // TODO Auto-generated catch block
       System.err.println("读取配置文件config.properties错误!");
       e.printStackTrace();
      }
     }

     public static String getConfigFile(HttpServlet hs) {
      return getConfigFile(hs, "config.properties");
     }

     /**
      * @param hs
      * @param configFileName
      * @return configFile
      */
     private static String getConfigFile(HttpServlet hs, String configFileName) {
      String configFile = "";
      ServletContext sc = hs.getServletContext();
      configFile = sc.getRealPath("/" + configFileName);
      if (configFile == null || configFile.equals("")) {
       configFile = "/" + configFileName;
      }
      // TODO Auto-generated method stub
      return configFile;
     }

     public void list() {
      p.list(System.out);
     }

     public String getValue(String itemName) {
      return p.getProperty(itemName);
     }

     public String getValue(String itemName, String defaultValue) {
      return p.getProperty(itemName, defaultValue);
     }

     public void setValue(String itemName, String value) {
      p.setProperty(itemName, value);
     }

     public void saveFile(String filename, String description) throws Exception {
      try {
       File f = new File(filename);
       out = new FileOutputStream(f);
       p.store(out, description);
       out.close();
      } catch (IOException ex) {
       throw new Exception("无法保存指定的配置文件:" + filename);
      }
     }
     
     public void saveFile(String filename) throws Exception{
      saveFile(filename,"");
     }
     
     public void saveFile() throws Exception{
      if(filename.length()==0)
       throw new Exception("需指定保存的配置文件名");
      saveFile(filename);
     }
     
     public void deleteValue(String value){
      p.remove(value);
     }
     
     public static void main(String args[]){
      String file="/eclipse/workspace/NewsTest/WEB-INF/config.properties";
    //  String file="D:\\eclipse\\workspace\\NewsTest\\WEB-INF\\config.properties";
      PropertiesUnit pu=new PropertiesUnit(file);
      pu.list();
     }

    }

  • 相关阅读:
    C#获取机器码
    页面延时跳转
    asp.net 删除文件夹,指定文件夹,删除文件夹和所有文件,删除权限设置,递归删除文件夹目录及文件
    c# 关闭程序
    Asp.net网站开发架构设计要求
    ASP.NET页面刷新方法总结
    一个不错的弹出窗口,修改了JS文件可多弹
    c# 实现应用程序重启
    ajax web页面复杂处理延时、客户交互问题
    C# 中关于汉字与16进制转换的代码
  • 原文地址:https://www.cnblogs.com/wtiancai/p/154570.html
Copyright © 2011-2022 走看看