- Properties类表示了一个持久的属性集。
Properties 可保存在流中或从流中加载。可用来读取和设置配置文件如.xml文件,.properties文件
- 实例如下:
-
package test;
-
-
import java.io.File;
-
import java.io.FileInputStream;
-
import java.io.FileNotFoundException;
-
import java.io.FileOutputStream;
-
import java.io.IOException;
-
import java.io.InputStream;
-
import java.util.InvalidPropertiesFormatException;
-
import java.util.Properties;
-
-
public class TestProperties {
-
public static final String DB_DRIVERNAME="driverName";
-
public static final String DB_URL="url";
-
public static final String DB_USERNAME="username";
-
public static final String DB_PWD="pwd";
-
public static final String SYSTEMFILE_PROPERTIES="webapps/WEB-INF/classes/test/tp.properties"; //路径视实际情况而定,参加令一篇文章 http://liujunhg.iteye.com/blog/1039168 (java中路径的问题)
-
public static final String SYSTEMFILE_PROPERTIES2="webapps/WEB-INF/classes/test/tp2.properties";
-
public static final String SYSTEMFILE_XML="webapps/WEB-INF/classes/test/tp.xml";
-
public static final String SYSTEMFILE_XML2="webapps/WEB-INF/classes/test/tp2.xml";
-
protected Properties properties=null;
-
public TestProperties(){
-
//this(SYSTEMFILE_PROPERTIES);
- }
-
private TestProperties(String fileName){
-
-
//loadProperties(SYSTEMFILE_PROPERTIES);
-
-
this.loadXML(SYSTEMFILE_XML);
- }
-
//解析properties文件
-
public void loadProperties(String fileName){
-
File file=new File(fileName);
-
InputStream in=null;
-
properties=new Properties();
-
-
if(file.exists()){
-
try {
-
in=new FileInputStream(file);
- properties.load(in);
-
} catch (FileNotFoundException e) {
-
- e.printStackTrace();
-
} catch (IOException e) {
- e.printStackTrace();
-
}finally{
-
if(in!=null){
-
try {
- in.close();
-
} catch (IOException e) {
-
- e.printStackTrace();
- }
-
in=null;
- }
- }
-
-
}else{
-
System.out.println("文件不存在!");
- }
-
- }
-
-
//解析XML文件
-
public void loadXML(String filename){
-
File file=new File(SYSTEMFILE_XML);
-
InputStream in=null;
-
properties=new Properties();
-
-
if(file.exists()){
-
try {
-
in=new FileInputStream(file);
- properties.loadFromXML(in);
-
} catch (FileNotFoundException e) {
- e.printStackTrace();
-
} catch (InvalidPropertiesFormatException e) {
-
- e.printStackTrace();
-
} catch (IOException e) {
-
if(in!=null){
-
try {
- in.close();
-
} catch (IOException e1) {
- e1.printStackTrace();
- }
-
in=null;
- }
- e.printStackTrace();
- }
-
-
}else{
-
System.out.println("文件不存在!");
- }
- }
-
-
//设置properties文件
-
public void storeProperties(){
-
properties=new Properties();
-
properties.setProperty(DB_DRIVERNAME, "oracle.jdbc.driver.OracleDriver");
-
properties.setProperty(DB_URL, "jdbc:oracle:thin@127.0.0.1:1521:orcl");
-
// properties.setProperty(DB_USERNAME, "test2");
-
// properties.setProperty(DB_PWD, "test2");
-
File file=new File(SYSTEMFILE_PROPERTIES2);
-
FileOutputStream fo=null;
-
-
try {
-
fo=new FileOutputStream(file);
-
properties.store(fo, "test");
-
} catch (FileNotFoundException e) {
- e.printStackTrace();
-
} catch (IOException e) {
- e.printStackTrace();
-
}finally{
-
if(fo!=null){
-
try {
- fo.close();
-
} catch (IOException e) {
- e.printStackTrace();
- }
-
fo=null;
- }
- }
-
- }
-
-
//设置XML文件
-
public void storeXML(){
-
properties=new Properties();
-
properties.setProperty(DB_DRIVERNAME, "oracle.jdbc.driver.OracleDriver");
-
properties.setProperty(DB_URL, "jdbc:oracle:thin@127.0.0.1:1521:orcl");
-
properties.setProperty(DB_USERNAME, "test2");
-
properties.setProperty(DB_PWD, "test2");
-
File file=new File(SYSTEMFILE_XML2);
-
FileOutputStream fo=null;
-
try {
-
fo=new FileOutputStream(file);
-
properties.storeToXML(fo, "conn");
-
} catch (FileNotFoundException e) {
- e.printStackTrace();
-
} catch (IOException e) {
- e.printStackTrace();
-
}finally{
-
if(fo!=null){
-
try {
- fo.close();
-
} catch (IOException e) {
- e.printStackTrace();
- }
-
fo=null;
- }
- }
- }
-
public String getDrivername(){
-
return (String)properties.getProperty(DB_DRIVERNAME);
- }
-
public String getURL(){
-
-
return (String)properties.getProperty(DB_URL);
- }
-
public String getName(){
-
return (String)properties.getProperty(DB_USERNAME);
- }
-
public String getPWD(){
-
return (String)properties.getProperty(DB_PWD);
- }
-
-
public static void main(String args[]){
-
TestProperties tp=new TestProperties();
-
// System.out.println(tp.getDrivername());
-
// System.out.println(tp.getURL());
-
// System.out.println(tp.getName());
-
// System.out.println(tp.getPWD());
-
//tp.storeXML();
- tp.storeProperties();
-
- }
- }
-
- tp.properties:
- url=jdbc:oracle:thin@127.0.0.1:1521:orcl
driverName=oracle.jdbc.driver.OracleDriver username=123 pwd=123
- tp.xml
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Hi</comment> <entry key="url">jdbc:oracle:thin@127.0.0.1:1521:orcl</entry> <entry key="driverName">oracle.jdbc.driver.OracleDriver</entry> <entry key="username">123</entry> <entry key="pwd">123</entry> </properties>
|
相关推荐
Spring Boot支持两种主要的全局配置文件格式:`application.properties` 和 `application.yml`。下面我们将深入探讨这两种配置文件及其特性。 一、`application.properties` 配置文件 1. **修改内嵌容器端口号**:...
4. **验证与默认值**:在解析配置文件时,可能会对输入值进行验证,确保它们符合预期的类型和范围。同时,提供默认值可以防止因缺少配置项导致的程序崩溃。 5. **国际化与本地化**:对于多语言支持的应用,配置文件...
- 环境变量:测试配置文件与环境变量的优先级和合并策略。 - 安全性:确保敏感信息加密存储,且在代码中不直接暴露。 通过这个测试项目,开发者不仅可以掌握配置文件的管理,还能提升项目的安全性和可扩展性。在...
在Java编程中,处理配置文件通常是一个常见的任务,特别是.properties文件。这些文件用于存储应用程序的配置参数,便于管理和更改。本篇文章将详细讲解如何读取.properties文件,将其内容转化为Map对象,以及如何将...
然后,`@ConfigurationProperties`注解的`prefix`应该设为`myProps`,并且在`YmlConfig`类中,属性名需要与配置文件中的键匹配。 总的来说,Spring Boot通过`@ConfigurationProperties`和`@Component`注解使得从`...
标题中的“解析XML和Propertites配置文件”指的是在软件开发中处理两种常见的配置文件格式。XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,具有良好的结构化特性,常用于应用程序的配置、...
2. **通过命令行参数传递配置文件名**:使用`PropertyConfigurator.configure(args[x])`来解析并配置。 3. **通过环境变量传递配置文件名**:利用Log4j默认的初始化过程进行解析和配置。 4. **通过应用服务器配置...
`jquery.i18n.properties`插件的主要功能是在客户端动态加载和解析.properties文件,使得开发者能够方便地获取并显示与用户语言环境相关的文本内容。它支持多种特性,如自动检测用户浏览器的语言设置、加载多个语言...
在Eclipse中,右键点击jar文件,选择“Properties”,然后在“Javadoc Location”选项中指定在线或本地的帮助文档。SuperMap提供在线和离线两种方式,你可以根据实际情况选择。 在线帮助可以直接输入官方提供的URL...
首先,xDoclet是一款基于Java文档注解(Javadoc)的代码生成工具,它能够通过解析类、接口、方法等Java源代码中的特定注解,自动生成相应的配置文件或代码。在Spring框架中,我们可以利用xDoclet自动生成XML配置文件...
纯java底层读取配置文件,生成map,可以根据key模糊匹配查询,封装好了方法。比如getVal("spring.dubbo*url")
在Android开发中,读取`properties`文件是一个常见的任务,主要用于存储配置信息或者与Java中的`.properties`文件进行交互。`.properties`文件是一种简单的...理解这些知识点有助于开发者更高效地管理和使用配置文件。
三、使用Properties配置文件 Java内置了`java.util.Properties`类来处理.properties文件。这类文件常用于存储应用的属性配置。 ```java import java.io.IOException; import java.util.Properties; Properties ...
标题和描述均指向了一个主题——如何在Java中解析XML配置文件。这不仅是IT专业人士,特别是Java开发者必须掌握的一项技能,因为XML(可扩展标记语言)作为一种标准的数据存储和传输格式,在许多应用程序中扮演着配置...
Java程序生成Kettle转换(KTR)文件是一个技术性较强的话题,主要涉及到Java编程语言...同时,理解并正确使用配置文件,如`ESAPI.properties`和`validation.properties`,能够确保在数据处理过程中实施适当的安全措施。
#### 一、配置文件结构与基本概念 Log4j 是一个功能强大的日志框架,广泛应用于Java应用程序中。它允许开发者通过配置文件来控制日志信息的生成方式、存储位置及格式。Log4j 的配置文件支持多种格式,最常见的是...
接下来介绍如何使用SAX(Simple API for XML)来解析上述XML配置文件。SAX是一种基于事件驱动的XML解析方式,非常适合于处理大型文件。 ##### 1. 定义解析器类`ConfigParser` ```java package roadmin.Conn; ...
Java Properties 类是Java标准库中用于处理配置文件的关键组件,主要负责存储和加载键值对数据,常用于管理应用程序的配置信息。配置文件通常以`.properties`为扩展名,采用文本格式,每行包含一个键值对,键和值...
在Java开发中,XML和properties配置文件是常见的数据存储和管理格式,用于存储应用程序的配置信息、数据库连接参数等。理解如何读取这两种类型的配置文件对于Java开发者来说至关重要。 1. **XML文件**: - **定义*...
它可以帮助开发者快速生成配置文件和必要的代码,大大提升了开发效率,降低了手动编写这些文件的工作量。 在使用SSM文件生成工具时,首先你需要配置相关的properties文件。这些文件通常包含了数据库连接信息、项目...