1、掌握Properties 类的使用
2、可以在普通文件及XML 格式的文件中保存及读取属性
属性是在程序中经常出现的一种形式。在类集中提供了一个专门的Properties 类,以完成属性的操作。
public class Properties extends Hashtable<Object, Object>
Properties 是Hashtable 的子类,则也是Map 的子类,可以使用Map 的全部操作,但是一般情况下属性类是单独使用的。
设置和取得属性:
设置属性:
public Object setProperty(String key, String value)
得到属性:
public String getProperty(String key)
public String getProperty(String key, String defaultValue)
验证以上的操作方法:
import java.util.Properties; public class PropertiesDemo1{ public static void main(String args[]){ Properties pro = new Properties() ; // 创建Properties对象 pro.setProperty("BJ","BeiJing") ; // 设置属性 pro.setProperty("TJ","TianJin") ; pro.setProperty("NJ","NanJing") ; System.out.println("1、BJ属性存在:" + pro.getProperty("BJ")) ; System.out.println("2、SC属性不存在:" + pro.getProperty("SC")) ; System.out.println("3、SC属性不存在,同时设置显示的默认值:" + pro.getProperty("SC","没有发现")) ; } }
输出结果:
1、BJ属性存在:BeiJing 2、SC属性不存在:null 3、SC属性不存在,同时设置显示的默认值:没有发现
以上属于设置和读取属性,当然,对于属性中也可以将属性保存在文件之中。提供了以下的方法:
public void Store(OutputStream out,String comments) throws IOException,将以上的属性写入到 d:\area.properties 文件之中。
import java.util.Properties; import java.io.File; import java.io.FileOutputStream; import java.io.FileNotFoundException; import java.io.IOException; public class PropertiesDemo1{ public static void main(String args[]){ Properties pro = new Properties() ; // 创建Properties对象 pro.setProperty("BJ","BeiJing") ; // 设置属性 pro.setProperty("TJ","TianJin") ; pro.setProperty("NJ","NanJing") ; File file = new File("D:" + File.separator + "area.properteis") ; // 指定要操作的文件 try{ pro.store(new FileOutputStream(file),"Area Info") ; // 保存属性到普通文件 }catch(FileNotFoundException e){ e.printStackTrace() ; }catch(IOException e){ e.printStackTrace() ; } } }
d:\area.properties 文件中的内容为:
#Area Info #Mon Mar 11 09:56:28 CST 2013 BJ=BeiJing NJ=NanJing TJ=TianJin
此时,已经将属性的内容保存在了文件之中。既然可以保存,那么就可以读取。
public void load(InputStream inStream) throwsIOException,使用该方法从文件中读取属性内容
import java.util.Properties; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class PropertiesDemo1{ public static void main(String args[]){ Properties pro = new Properties() ; // 创建Properties对象 File file = new File("D:" + File.separator + "area.properteis") ; // 指定要操作的文件 try{ pro.load(new FileInputStream(file)) ; // 读取属性文件 }catch(FileNotFoundException e){ e.printStackTrace() ; }catch(IOException e){ e.printStackTrace() ; } System.out.println("1、BJ属性存在:" + pro.getProperty("BJ")) ; System.out.println("2、SH属性不存在:" + pro.getProperty("SH")) ; } }
输出结果:
1、BJ属性存在:BeiJing 2、SH属性不存在:null
以上全部保存在了普通的文件之中。实际上在Properties 操作的时候也可以将内容全部保存在XML文件中。
import java.util.Properties; import java.io.File; import java.io.FileOutputStream; import java.io.FileNotFoundException; import java.io.IOException; public class PropertiesDemo1{ public static void main(String args[]){ Properties pro = new Properties() ; // 创建Properties对象 pro.setProperty("BJ","BeiJing") ; // 设置属性 pro.setProperty("TJ","TianJin") ; pro.setProperty("NJ","NanJing") ; File file = new File("D:" + File.separator + "area.xml") ; // 指定要操作的文件 try{ pro.storeToXML(new FileOutputStream(file),"Area Info") ; // 保存属性到普通文件 }catch(FileNotFoundException e){ e.printStackTrace() ; }catch(IOException e){ e.printStackTrace() ; } } }
d:\area.xml 文件中的内容为:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Area Info</comment> <entry key="BJ">BeiJing</entry> <entry key="NJ">NanJing</entry> <entry key="TJ">TianJin</entry> </properties>
既然可以使用XML 文件格式保存,那么就可以使用XML 文件读取内容
import java.util.Properties; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class PropertiesDemo05{ public static void main(String args[]){ Properties pro = new Properties() ; // 创建Properties对象 File file = new File("D:" + File.separator + "area.xml") ; // 指定要操作的文件 try{ pro.loadFromXML(new FileInputStream(file)) ; // 读取属性文件 }catch(FileNotFoundException e){ e.printStackTrace() ; }catch(IOException e){ e.printStackTrace() ; } System.out.println("1、BJ属性存在:" + pro.getProperty("BJ")) ; } }
输出结果:
1、BJ属性存在:BeiJing
相关推荐
Properties类继承自Hashtable,用于读写属性列表(键/值对),常用于存储配置信息。例如,一个.properties文件可以这样创建: ``` # sample.properties username=admin password=123456 ``` 在Java中,我们可以...
Java提供了一个内置的`java.util.Properties`类,用于处理`.properties`文件,这种格式通常用来存储键值对,即键(key)和对应的值(value)。以下是如何利用`Properties`类读取和操作`.properties`文件的详细步骤。...
【Java_Properties_类读取配置文件信息】 在软件开发中,配置文件是必不可少的,因为它们允许我们灵活地管理程序中的可变参数,而无需修改源代码。Java 支持使用 `.properties` 文件作为其标准配置文件格式,这得益...
3. `loadFromXML(InputStream)` 和 `storeToXML(OutputStream, String, String)`:除了普通的文本格式,Properties类还支持XML格式的属性文件。这两个方法分别用于从XML输入流加载和向XML输出流写入属性。 4. `...
这个"读取properties文件工具类"是为了简化程序中对`.properties`文件的读取操作而设计的。通过这样的工具类,开发者可以方便地加载和获取配置文件中的属性值,避免重复编写相同的代码。下面我们将详细探讨`...
### Java 类文件通过 $ 获取 properties 文件的属性值 在Java开发中,经常需要读取配置文件中的信息,例如数据库连接信息、系统环境变量等。这些配置通常存储在`.properties`文件中,便于维护和管理。本文将详细...
Properties类扩展自Hashtable类,并且专门为处理属性文件而设计,比如在Java中常见的.properties文件。 首先,我们来看如何加载Properties文件。可以使用类加载器(ClassLoader)的getResourceAsStream方法来加载类...
- 自Java 11起,`Properties`类添加了`storeToXML()`和`loadFromXML()`方法,支持XML格式的属性文件,提供了更好的可读性和结构化存储。 在实际开发中,`PropertiesUtils.java`这样的工具类通常包含静态方法,用于...
在Java编程中,Properties类是用于处理属性文件的关键工具,它允许我们加载、存储和管理配置参数。"读取Properties信息工具类"是指一个自定义的Java类,它封装了与Properties文件交互的过程,通常包括加载、获取和...
Eclipse属性编辑器,也被称为PropertiesEditor,是Eclipse集成开发环境中的一个重要工具,用于方便地编辑和管理项目的属性设置。这个编辑器扩展了Eclipse的功能,使得开发者能够更直观地查看和修改与项目相关的配置...
`Properties`类允许加载和保存属性列表,支持键值对的形式,其中键和值都是字符串。通过调用`load()`方法可以从输入流中读取属性列表,而`store()`方法则可以将属性列表写入输出流。 `diffProperties.java`文件很...
首先,我们需要了解`java.util.Properties`类,它是Java标准库提供的一种用于处理属性列表的类。我们可以通过以下步骤来读取properties文件: 1. **加载Properties文件**: 使用`Properties`类的`load()`方法,...
##### 边框属性(Border Properties) - **CSS属性**:`border` - **JavaScript属性**:`border` - **CSS属性**:`border-bottom` - **JavaScript属性**:`borderBottom` - **CSS属性**:`border-bottom-color` -...
博文链接中提到的可能涉及对`Properties`类的源码分析,可以深入了解其实现原理,例如如何解析文件,如何处理转义字符,以及如何缓存加载的属性等。 7. 工具应用 开发过程中,可以使用IDE的内置功能或第三方插件...
标题中的“UIProperties 属性控件”指的是在软件开发中,特别是使用Microsoft Foundation Class (MFC)库时,用于创建类似Visual Studio属性栏的一种用户界面元素。这种控件允许用户以直观的方式查看和编辑对象的属性...
在Java编程中,Properties类是用于处理属性列表的,这些属性列表通常以键值对的形式存储,例如配置文件。然而,标准的java.util.Properties类在加载和保存文件时会忽略注释,这在某些场景下可能不够理想。针对这个...
`classpath:`前缀表示该文件位于类路径下,即项目src目录下的某个位置。 ### 多个Properties文件的集成 当存在多个配置文件时,可以使用`locations`属性代替`location`,以列表形式指定多个文件路径。例如: ```...
在Java编程语言中,`Properties` 类是一个非常重要的工具,用于处理配置文件,这些文件通常以键值对的形式存储数据。这些数据可以是系统属性、应用程序配置或任何其他需要持久化存储的数据。`Properties` 类提供了...
在Java领域,`java.util.Properties`类是处理属性文件的标准工具,但其功能相对有限。为了提供更强大的属性处理能力,开源社区开发了`properties`库,它提供了更丰富的特性和便利的方法,使得开发者能更高效地管理和...