java.util.Properties类 学习笔记1

查看原文:http://www.ibloger.net/article/132.html

java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是”键=值”的格式,在properties

文件中,可以用”#”来作注释,properties文件在Java编程中用到的地方很多,操作很方便。

package cn.demo;

import java.io.*;
import java.util.Properties;
import javax.servlet.http.*;
import javax.servlet.*;
import javax.servlet.jsp.*;

public class PropertiesUtil {
private String fileName;
private Properties p;
private FileInputStream in;
private FileOutputStream out;

/**
 * 根据传进的文件名载入文件
 */
public PropertiesUtil(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) {
        System.err.println("配置文件config.properties找不到!!");
        e.printStackTrace();
    } catch (Exception e) {
        System.err.println("读取配置文件config.properties错误!!");
        e.printStackTrace();
    }
}

/**
 * 配置文件一律为config.propertities,并且统一放在web应用的根目录下。
 */
public static String getConfigFile(HttpServlet hs) {
    return getConfigFile(hs, "config.properties");
}

/**
 * 在servlet中使用,直接用this作为参数,HttpServlet类型 根据配置文件名从当前web应用的根目录下找出配置文件
 */
public static String getConfigFile(HttpServlet hs, String configFileName) {
    String configFile = "";
    ServletContext sc = hs.getServletContext();
    configFile = sc.getRealPath("/" + configFileName);
    if (configFile == null || configFile.equals("")) {
        configFile = "/" + configFileName;
    }
    return configFile;
}

/**
 * jsp中用pageContext作参数
 */
public static String getConfigFile(PageContext hs, String configFileName) {
    String configFile = "";
    ServletContext sc = hs.getServletContext();
    configFile = sc.getRealPath("/" + configFileName);
    if (configFile == null || configFile.equals("")) {
        configFile = "/" + configFileName;
    }
    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);
    return;
}

/**
 * 保存配置文件,指定文件名和抬头描述
 */
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 = "D:\\ttt.properties";
    PropertiesUtil pu = new PropertiesUtil(file);
    pu.list();
}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值