惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
CERT Recently Published Vulnerability Notes
GbyAI
GbyAI
Google DeepMind News
Google DeepMind News
C
CXSECURITY Database RSS Feed - CXSecurity.com
AWS News Blog
AWS News Blog
V
Vulnerabilities – Threatpost
T
Tenable Blog
P
Proofpoint News Feed
C
Check Point Blog
T
The Exploit Database - CXSecurity.com
F
Full Disclosure
P
Privacy & Cybersecurity Law Blog
美团技术团队
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
量子位
AI
AI
Spread Privacy
Spread Privacy
Help Net Security
Help Net Security
Know Your Adversary
Know Your Adversary
IT之家
IT之家
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
L
LangChain Blog
I
Intezer
T
The Blog of Author Tim Ferriss
爱范儿
爱范儿
月光博客
月光博客
Recorded Future
Recorded Future
O
OpenAI News
WordPress大学
WordPress大学
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
S
Security @ Cisco Blogs
Recent Announcements
Recent Announcements
P
Privacy International News Feed
NISL@THU
NISL@THU
MongoDB | Blog
MongoDB | Blog
W
WeLiveSecurity
B
Blog RSS Feed
Blog — PlanetScale
Blog — PlanetScale
博客园 - Franky
Cyberwarzone
Cyberwarzone
H
Hacker News: Front Page

博客园 - yiling

Eclipse 12大使用技巧 Hibernate 缓存的使用 Quartz应用 Solaris9下安装Oracle10g详细过程(转) Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream - yiling 使用JOX实现JavaBean和XML之间的转化 db2常用命令 ant中利用macrodef来定义可重用的task java查看文件的创建时间 - yiling - 博客园 [转]Oracle exp imp sybase备份服务(backup server)不能启动的处理方法 SQL*PLUS环境输入'&字符'的方法 DB2 Catalog hibernate如何设置一对多cascade Hibernate 一些疑点(转的文章,还不错) Ajax客户端与伺服端之间,使用XML作为数据传送 从找实习的过程中发现了自己的弱点 (转)CAD二次开发简介 WID实施过程中的常见问题
java读取property文件
yiling · 2009-05-25 · via 博客园 - yiling

package configuration;

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

/**
 * 读取properties文件
 * 
@author Qutr
 *
 
*/

public class Configuration
{
    
private Properties propertie;
    
private FileInputStream inputFile;
    
private FileOutputStream outputFile;
    
    
/**
     * 初始化Configuration类
     
*/

    
public Configuration()
    
{
        propertie 
= new Properties();
    }

    
    
/**
     * 初始化Configuration类
     * 
@param filePath 要读取的配置文件的路径+名称
     
*/

    
public Configuration(String filePath)
    
{
        propertie 
= new Properties();
        
try {
            inputFile 
= new FileInputStream(filePath);
            propertie.load(inputFile);
            inputFile.close();
        }
 catch (FileNotFoundException ex) {
            System.out.println(
"读取属性文件--->失败!- 原因:文件路径错误或者文件不存在");
            ex.printStackTrace();
        }
 catch (IOException ex) {
            System.out.println(
"装载文件--->失败!");
            ex.printStackTrace();
        }

    }
//end ReadConfigInfo(...)
    
    
/**
     * 重载函数,得到key的值
     * 
@param key 取得其值的键
     * 
@return key的值
     
*/

    
public String getValue(String key)
    
{
        
if(propertie.containsKey(key)){
            String value 
= propertie.getProperty(key);//得到某一属性的值
            return value;
        }

        
else 
            
return "";
    }
//end getValue(...)
    
    
/**
     * 重载函数,得到key的值
     * 
@param fileName properties文件的路径+文件名
     * 
@param key 取得其值的键
     * 
@return key的值
     
*/

    
public String getValue(String fileName, String key)
    
{
        
try {
            String value 
= "";
            inputFile 
= new FileInputStream(fileName);
            propertie.load(inputFile);
            inputFile.close();
            
if(propertie.containsKey(key)){
                value 
= propertie.getProperty(key);
                
return value;
            }
else
                
return value;
        }
 catch (FileNotFoundException e) {
            e.printStackTrace();
            
return "";
        }
 catch (IOException e) {
            e.printStackTrace();
            
return "";
        }
 catch (Exception ex) {
            ex.printStackTrace();
            
return "";
        }

    }
//end getValue(...)
    
    
/**
     * 清除properties文件中所有的key和其值
     
*/

    
public void clear()
    
{
        propertie.clear();
    }
//end clear();
    
    
/**
     * 改变或添加一个key的值,当key存在于properties文件中时该key的值被value所代替,
     * 当key不存在时,该key的值是value
     * 
@param key 要存入的键
     * 
@param value 要存入的值
     
*/

    
public void setValue(String key, String value)
    
{
        propertie.setProperty(key, value);
    }
//end setValue(...)
    
    
/**
     * 将更改后的文件数据存入指定的文件中,该文件可以事先不存在。
     * 
@param fileName 文件路径+文件名称
     * 
@param description 对该文件的描述
     
*/

    
public void saveFile(String fileName, String description)
    
{
        
try {
            outputFile 
= new FileOutputStream(fileName);
            propertie.store(outputFile, description);
            outputFile.close();
        }
 catch (FileNotFoundException e) {
            e.printStackTrace();
        }
 catch (IOException ioe){
            ioe.printStackTrace();
        }

    }
//end saveFile(...)
    
    
public static void main(String[] args)
    
{
        Configuration rc 
= new Configuration(".\config\test.properties");//相对路径
        
        String ip 
= rc.getValue("ipp");//以下读取properties文件的值
        String host = rc.getValue("host");
        String tab 
= rc.getValue("tab");
        
        System.out.println(
"ip = " + ip + "ip-test leng = " + "ip-test".length());//以下输出properties读出的值
        System.out.println("ip's length = " + ip.length());
        System.out.println(
"host = " + host);
        System.out.println(
"tab = " + tab);

        Configuration cf 
= new Configuration();
        String ipp 
= cf.getValue(".\config\test.properties""ip");
        System.out.println(
"ipp = " + ipp);
//        cf.clear();
        cf.setValue("min""999");
        cf.setValue(
"max""1000");
        cf.saveFile(
".\config\save.perperties""test");
        
//        Configuration saveCf = new Configuration();
//        saveCf.setValue("min", "10");
//        saveCf.setValue("max", "1000");
//        saveCf.saveFile(".\config\save.perperties");
        
    }
//end main()
    
}
//end class ReadConfigInfo