`

java的property配置文件的用法

阅读更多

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  
分享到:
评论
1 楼 fengda2870 2009-09-16  
谢谢了
正好用的上

相关推荐

    java的property配置文件的用法.txt

    通常我们的做法是用配置文件来解决。 各种语言都有自己所支持的配置文件类型。比如 python ,他支持 .ini 文件。因为他内部有一个 ConfigParser 类来支持 .ini 文件的读写,根据该类提供的方法程序员可以 自由的...

    java的property配置文件的用法.pdf

    。。。

    log4j中配置日志文件相对路径方法分析

    这样,我们就可以在log4j加载配置文件之前,先用System.setProperty ("WORKDIR", WORKDIR);设置好根路径,此操作可通过一初始的servlet进行。 方法二、 可以使用服务器环境变量 log4j的配置文件支持服务器的vm的...

    Args:Java配置文件和命令行解析器-开源

    强大的基于规则的命令行解析器和配置阅读器。 可以使用注释创建选项,也可以使用功能强大的API手动创建选项。 选项被分组到分层名称... XML,INI,PROPERTY配置文件类型。 数据库和一般持久性或所有上述各项的组合。

    DWR.xml配置文件说明书(含源码)

    配置文件init部分声明那些用于建立远程bean和在方法调用中转换bean的类.这部分是可选择性配置的,多数情况下可以不必使用它,如果你想定义一个新的creator或者converter那么就必须在部分中声明,but do double check on...

    软件框架-实现@Data@Configuration@Autowired@PropertySource@Test等功能的源代码包

    1.本文代码实现的功能是配置类,指定自定义配置文件的位置和名称,开启对应配置类的属性注入功能,指定配置文件注入属性的前缀,生成getter和setter,toString方法等; 2.该程序代码是使用idea2021.12版本编写的,...

    java微信公众号MVC开发框架

    jwx是开源的java公众号开发MVC框架,基于spring配置文件和微信消息或事件注解,通过微信上下文处理一个或多个微信公众号服务请求。目的主要有两个,其一生封装微信请求xml消息为java实体对象,将返回对象转换为xml...

    java初学者必看

    最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,...

    java 面试题 总结

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 13、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)的...

    Java EE常用框架.xmind

    使用@configurationProperties和@Value注解来获取SpringBoot配置文件上的信息 使用@SpringBootTest来搭建测试环境,使用@AutoConfigueMockMVC类实现Mock http操作 热部署和热加载 热部署代表的是:我们不...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    8.5.1 Struts2的配置文件类型 8.5.2 Struts2的包配置 8.5.3 名称空间配置 8.5.4 Action相关配置 8.5.5 通配符实现简化配置 8.5.6 返回结果的配置 8.6 Struts2的开发模式 8.6.1 实现与ServletAPI的交互 86.2 域模型...

    java命名规范 开发规范

    1. 模块命名、数据库表命名、域模型命名、各分层的类/方法命名、页面的命名; 模块命名: a. 包命名:com.project_name.module_name.action/service/dao/ws; service的实现都置于...

    keycloak-config-cli:将YAMLJSON格式的配置文件导入Keycloak-配置为Keycloak的代码

    使用${sys:name-of-system-property}或${env:NAME_OF_ENVIRONMENT}变量将值替换为java系统属性或环境变量。 变量替换在执行json解析器之前运行。 这允许json结构或复杂的值。 有关更多信息和高级用法,请参阅: ...

    Java通用代码生成实用程序XDoclet(源码包)

    XDoclet 是一个通用的代码生成实用程序,是一个扩展的Javadoc Doclet引擎,它允许您使用象 JavaDoc 标记之 类的东西来向诸如类、方法...这样,我们就能在使用ant编译工程的同时,使Xdoclet为我们生成相关的配置文件了。

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    Property 的 SOURCE 属性由 BlazeDS 读取 XML 配置文件获得: 清单 12. 配置 destination 的 id <destination id="flexService"> <properties> <factory>flexFactory</factory> <source>flexService...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    Property 的 SOURCE 属性由 BlazeDS 读取 XML 配置文件获得: 清单 12. 配置 destination 的 id <destination id="flexService"> <properties> <factory>flexFactory</factory> <source>flexService...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    java面试题

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步。在很多情况下采用异步往往更有效率。 数据库三大范式? 答:1:确保每列都是不可分割的原子值 2...

    java 混淆工具,不可逆 jocky 也许是最好的了

    使用Jocky非常简单,获得jocky.jar以后,只需要运行java -jar jocky.jar就可以启动Jocky混淆编译器,jocky的命令行参数和javac完全相同,但增加了一个新的参数-scramble,它的用法如下: -scramble 混淆所有...

Global site tag (gtag.js) - Google Analytics