`
flm_llx
  • 浏览: 62550 次
  • 性别: Icon_minigender_1
  • 来自: 应县
社区版块
存档分类
最新评论

属性文件读写java.util.Properties

    博客分类:
  • java
阅读更多
属性文件有时候我们随便放到classes/ , 有时候需要放到指定的目录中去. 后者更零活,所以我们使用下面的代码来读取配置文件:
props = new Properties();
   FileInputStream fis = new FileInputStream(
     "com/config/config.properties");
   props.load(fis);
   fis.close();
因为这样可以指定目录.
而下面的代码就比较差些,必须把属性文件放到classes/下.
props = new Properties();
InputStream jndiInput = ResourceUtil.class.getClassLoader()
                .getResourceAsStream("tocomTDSGW.properties");
        props.load(jndiInput);
        jndiInput.close();
java.util.Properties 类用来在一个文件存储键---值对,其中键和值是用等号分隔的。
例如      driver-class=com.mysql.jdbc.Driver
             user=root  
             password=root
装载到 Properties 对象中后,就可以找到3个键( driver-class,user,password )和3个值( driver-class 的 com.mysql.jdbc.Driver, user的 root ,password的root)了。
如何装载属性文件并列出它当前的一组键和值。只需传递这个文件的 InputStream 给 load() 方法,就会将每一个键-值对添加到 Properties 实例中。然后用 list() 列出所有属性或者用 getProperty() 获取单独的属性。
注意 list() 方法的输出中键-值对的顺序与它们在输入文件中的顺序不一样。 Properties 类在一个散列表(hashtable,事实上是一个 Hashtable 子类)中储存一组键-值对,所以不能保证顺序。
如 import java.util.*;
     import java.io.*;
    public classs PropSample{
      public static void main(String args[]) throws Exception {
       Properties prop=new Properties();
       FileInputStream fis=new FileInputStream(config.properties);
       prop.load(fis);
       prop.list(System.out);
       System.out.println("Driver-class是:"+prop.getProperty("driver-class"));
       System.out.println("user是:"+prop.getProperty("user"));
       System.out.println("password是:"+prop.getProperty("password"));
   }
}
API说明
java.util
类 Properties
java.lang.Object
java.util.Dictionary<K,V>
      java.util.Hashtable<Object,Object>
          java.util.Properties
所有已实现的接口:
Serializable, Cloneable, Map<Object,Object>
直接已知子类:
Provider
--------------------------------------------------------------------------------
public class Propertiesextends Hashtable<Object,Object>Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。
因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但强烈反对使用这两个方法,因为它们允许调用方插入其键或值不是 Strings 的项。相反,应该使用 setProperty 方法。如果在“有危险”的 Properties 对象(即包含非 String 的键或值)上调用 store 或 save 方法,则该调用将失败。
load 和 store 方法按下面所指定的、简单的面向行的格式加载和存储属性。此格式使用 ISO 8859-1 字符编码。可以使用 Unicode 转义符来编写此编码中无法直接表示的字符;转义序列中只允许单个 'u' 字符。可使用 native2ascii 工具对属性文件和其他字符编码进行相互转换。
loadFromXML(InputStream) 和 storeToXML(OutputStream, String, String) 方法按简单的 XML 格式加载和存储属性。默认使用 UTF-8 字符编码,但如果需要,可以指定某种特定的编码。XML 属性文档具有以下 DOCTYPE 声明:
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
注意,导入或导出属性时不 访问系统 URI (http://java.sun.com/dtd/properties.dtd);该系统 URI 仅作为一个惟一标识 DTD 的字符串:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- DTD for properties -->
    <!ELEMENT properties ( comment?, entry* ) >
    <!ATTLIST properties version CDATA #FIXED "1.0">
    <!ELEMENT comment (#PCDATA) >
    <!ELEMENT entry (#PCDATA) >
    <!ATTLIST entry key CDATA #REQUIRED>
分享到:
评论

相关推荐

    改进java.util.Properties类,让输出格式与输入格式保持不变.

    在Java编程中,`java.util.Properties`类是一个用于处理键值对的标准库,常用于配置文件的读写。然而,该类在加载和保存属性时可能会导致格式的变化,比如默认会将所有字符转换为ASCII,并且在保存时会自动添加行...

    java读写xxx.properties文件实用小例

    在Java编程中,读写`.properties`文件是一个常见的任务,这些文件通常用于存储配置信息、设置或环境变量。本文将深入探讨如何在Java中高效地处理`.properties`文件,包括读取、写入以及更新其内容。我们将参考提供的...

    java读取属性文件

    在Java编程中,属性文件(通常以`.properties`为扩展名)是一种常见的配置文件类型,用于存储应用程序的配置参数和设置。这些文件以键值对的形式组织,键和值之间用等号`=`或冒号`:`分隔。在本教程中,我们将深入...

    属性文件读写操作类

    总结,属性文件读写操作类的核心在于`java.util.Properties`类的使用,以及如何优雅地进行文件I/O操作。理解这些知识点对于开发Java应用程序,特别是需要持久化配置信息的应用来说至关重要。通过自定义类和工具方法...

    使用Properties类来读取配置文件

    本篇文章将深入探讨如何使用Java中的`java.util.Properties`类来读取这些配置文件,包括基本用法、方法解释、代码示例及测试案例。 `Properties`类是Java标准库的一部分,专门设计用来处理键值对的存储,常用于存储...

    Java源码读写Properties文件.rar

    读取Properties文件的主要方法是`Properties.load(Reader)`或`Properties.load(InputStream)`。例如: ```java Properties props = new Properties(); InputStream in = new FileInputStream("config.properties");...

    java读写properties配置文件

    ### Java读写Properties配置文件详解 #### 一、引言 在Java开发中,`Properties`类被广泛用于处理各种类型的配置文件。这些文件通常包含了应用程序运行时所需的配置信息,如数据库连接信息、系统参数等。`...

    java 改变Properties文件中的键值

    在Java代码中,首先需要导入`java.util.Properties`和`java.io.*`等相关的类库,以便进行读写Properties文件的操作。 2. **加载Properties文件** 使用`Properties`类的`load()`方法加载Properties文件。这个方法...

    java_util 工具包

    - **`Properties`类**:继承自`Hashtable`,专门用于读写配置文件。 - **`Enum`类**:用于实现枚举类型。 - **`Observer`接口和`Observable`类**:实现了观察者设计模式,用于事件监听和通知。 #### 四、总结 `...

    适当:Tiny Clojure库,用于处理Java属性列表(java.util.Properties)

    3. **处理国际化**:考虑到多语言支持,库还可能包含处理不同区域设置的属性文件的功能。 4. **流处理**:通过使用Java IO流,Propertied可以高效地处理大文件,而不会一次性加载整个文件到内存中。 5. **异常处理**...

    属性文件读写(java)

    import java.util.Properties; /** * @ProjectName : JavaTest * @PackageName : org.fenet.javamail * @FileName : PropertiyFileReader.java * @Describe : * @CreateTime : 2008-9-3下午04:07:01 * @...

    Java常用工具类大全,工作5年精心整理.zip

    14. **`java.util.Properties`**:用于读写配置文件,常用于存储应用程序的配置参数。 15. **`java.util.PriorityQueue`**:优先队列,内部实现为堆,可以自动维护元素的排序。 以上仅是部分可能包含的工具类,...

    java读取properties文件

    这个类提供了一种存储和加载属性列表的方法,它能够处理`.properties`文件的读写操作。 1. 加载`properties`文件: 要读取`properties`文件,我们首先需要创建一个`Properties`对象,然后使用`load()`方法从输入流...

    java工具类

    18. **`java.util.Properties`**:处理配置文件,如读取和写入.properties文件。 19. **`java.util.Scanner`**:从标准输入、文件或其他输入流读取简单类型的数据。 20. **`java.util.regex`** 包:正则表达式处理...

    01-属性文件的操作.rar_配置文件的修改

    Java提供`java.util.Properties`类来处理属性文件。可以使用`Properties.load()`方法从输入流中加载文件内容。例如: ```java Properties props = new Properties(); try { FileInputStream fis = new ...

    java Properties文件key,value读取

    首先,我们需要引入`java.util.Properties`类,这是Java提供用来处理Properties文件的核心类。以下是一个简单的示例,展示如何加载和读取Properties文件: ```java import java.io.InputStream; import java.util....

    Properties文件读写;Property文件读写;Property

    它使用`java.util.Properties`类的`load(Reader reader)`方法,将文件内容加载到Properties对象中。这个过程通常涉及打开文件,创建一个`BufferedReader`,然后将其传递给`Properties`类的`load()`方法。 2. **获取...

    Java读写.txt文件

    Java的`java.util.Properties`类专门用于处理键值对,它提供了一种更安全且方便的方式来读写配置文件。例如: ```java Properties props = new Properties(); FileInputStream fis = new FileInputStream(...

    读取properties文件工具类

    这个工具类可能会使用`java.util.Properties`类和`java.io.FileInputStream`或`java.io.FileOutputStream`来读写文件。 3. **使用工具类读取.properties文件** 使用工具类读取`.properties`文件的步骤如下: 1. ...

Global site tag (gtag.js) - Google Analytics