properties配置文件简介:Java中的属性配置文件及相关操作
1. ".properties"配置文件介绍

Java.properties配置文件示例
后缀名为.properties是一种属性配置文件。
这种文件是以 key=value 的格式来存储内容的。在 Java 当中,能够使用 Properties 类去读取这个文件。
获取到的属性值为 String 类型,该值是通过 p.getProperty(key) 获取到的。
可以得到相应的数据,通常这个文件用于存储一些参数,这样代码就能更灵活一些。
用于适配多语言环境,当系统的语言环境发生变化时,会读取不同的属性文件,这些属性文件用于存放一组配置,其类似于 Windows 系统下的.ini 文件,但要更简单些,因为它没有 section 这个概念。
因为难以将层次表达清楚,所以较为复杂的情况可以使用 xml 来进行配置,以替代.properties 文件。
通俗来讲,就像是定义一个变量。在这个文件中定义这些变量的值,在程序里能够调用这些变量。其好处在于,如果程序中的参数值需要变动,只需直接修改这个.properties 文件就行,而无需再去修改源代码。
优点在于有利于你以后的代码重构,集中管理,维护方便。
2. Eclipse中怎么创建properties文件
通用【新建】快捷键:Ctrl + N
Eclipse中创建properties文件 - 第一步
Eclipse中创建properties文件 - 第二步
Eclipse中创建properties文件 - 第三步
写它,写它,写它,OMG!!!
3. Properties 类的特点
Properties 类继承自 Hashtable 类,同时实现了 Map 接口。它是以一种键值对的形式来保存属性集的。
特点如下:
它的键和值都是字符串类型;它是从线程安全的 Hashtable 继承而来的,所以它也是线程安全的;它的用法与 HashMap 和 Hashtable 相近,无需指定泛型;主要被用于.properties 配置文件的读写操作。
常用方法:
获取指定键的属性值,该键为一个字符串类型的参数,方法名为 getProperty,参数名为 key,返回值为一个字符串类型的值。
使用此属性列表中指定的键搜索属性。
获取指定键 key 的属性值,如果不存在该属性则返回默认值 defaultValue 。 首先会在指定的范围内查找键为 key 的属性,若找到则返回其对应的值,若未找到则返回 defaultValue 。 这个方法用于根据给定的键获取相应的属性值,当没有找到匹配的属性时,会使用默认值来替代。
使用此属性列表中指定的键搜索属性。
void list(PrintStream out)
将此属性列表打印到指定的输出流。
void list(PrintWriter out)
将此属性列表打印到指定的输出流。
加载输入流 inStream 。将输入流 inStream 进行加载操作 。对输入流 inStream 执行加载的动作 。
从输入字节流读取属性列表(键和元素对)。
void load(Reader reader)
从输入字符流以简单的线性格式来读取属性列表,也就是读取关键字和元素对。
从输入流 in 中加载数据到某个对象或系统中,此操作的具体实现是通过加载 XML 来完成的。具体来说,就是将输入流 in 所代表的 XML 内容进行解析和处理,然后将其中的相关信息加载到指定的位置或数据结构中,以便后续的使用和操作。
将指定输入流中的XML文档表示的所有属性加载到此属性表中。
Enumeration> propertyNames()
返回此属性列表中所有键的枚举,要是在主属性列表中还没找到相同名称的键,那就包括默认属性列表中的不同键。
该方法用于设置对象的属性。它接受两个参数,一个是属性的键(key),另一个是属性的值(value)。通过调用这个方法,可以将指定的键值对设置到对象中。
调用 Hashtable方法 put 。
通过这个 void 函数来实现存储的过程。
把这个属性列表(包含键和元素对)写入这个 Properties 表中,以一种适合通过 load(InputStream)方法加载到 Properties 表中的格式来输出流。
最后,将评论字符串存储到 Writer 中。
把这个属性列表(包含键和元素对)写入这个 Properties 表中,然后以适合使用 load(Reader)方法的格式输出到输出字符流。
将内容存储到 XML 中,通过输出流 os 进行操作,同时还带有一个字符串 comment 作为注释。
发出表示此表中包含的所有属性的XML文档。
将内容存储到 XML 中,需要指定输出流 os、注释 comment 以及编码 encoding 。
使用指定的编码发出表示此表中包含的所有属性的XML文档。
Set stringPropertyNames()
获取此属性列表中的一组键,这些键及其对应的值是字符串,涵盖了默认属性列表中的不同键。
如果尚未从主属性列表中找到相同名称的键。
4. 读写.properties配置文件(非常简单)
加载(输入流 inStream)
这个方法能够从.properties 属性文件所对应的文件输入流里,将属性列表加载到 Properties 类的对象中。例如下面的代码:
创建了一个名为 pro 的 Properties 对象。
创建一个名为 in 的 FileInputStream 对象,该对象用于读取名为 "a.properties" 的文件。
pro.load(in);
in.close();
将输出流 out 和字符串 comments 作为参数传递给 store 方法。
这个方法会把 Properties 类对象的属性列表保存在输出流里。就如同下面的这段代码:
创建了一个名为 oFile 的 FileOutputStream 对象,用于将数据写入到名为 file 的文件中,并且指定要写入的文件是 "a.properties"。
pro.store(oFile, "Comment");
oFile.close();
(3) getProperty / setProperty
这两个方法是分别是获取和设置属性信息。
示例代码:
导入 Java 的输入流相关类,即包含了 BufferedInputStream 类。 它用于处理输入流的缓冲操作,以提高输入数据的读取效率。 可以通过该类来创建缓冲输入流对象,以便更高效地读取输入数据。 例如在文件读取等场景中经常会使用到 BufferedInputStream 来优化输入操作。
使用 Java 语言的代码中,有这样一行语句:引入了 Java 的输入流类 FileInputStream;这行语句的作用是用于从文件中读取数据;它通过特定的路径来指定要读取的文件;在程序运行过程中,通过这行代码可以实现对指定文件的输入流操作。
使用 Java 语言中的 FileOutputStream 类。 可以通过该类来进行文件输出操作。 它是 Java IO 流中的一部分。 用于将数据写入文件。 提供了对文件进行写入的功能。 能够将字节数组或单个字节写入文件。 是实现文件写入的重要工具之一。
import java.io.InputStream;
import java.util.Iterator;
import java.util.Properties;
public class PropertyTest {
公共静态 void 主函数(字符串数组 args) {
创建了一个名为 prop 的 Properties 对象。
try{
//读取属性文件db.properties
创建了一个名为 in 的输入流,它是一个经过缓冲处理的输入流,其底层是一个用于读取“db.properties”文件的文件输入流。
prop.load(in); ///加载属性列表
Iterator使用`prop`的`stringPropertyNames()`方法获取迭代器,将其赋值给`it`。
while(it.hasNext()){
String key=it.next();
首先获取键 key,然后通过 prop.getProperty(key) 获取键对应的值,最后将键和值拼接并输出,即输出 key 加上冒号再加上获取到的属性值。
}
in.close();
///保存属性到new.properties文件
// 这里的 true 表示追加打开。
把“test”的属性值设定为“123”。
prop 把 "The New properties file" 存储在 oFile 里;
oFile.close();
}
catch(Exception e){
System.out.println(e);
}
}
}