java.util.Properties用法

OpenOCD入门到精通:第20章 Target 子系统源码分析 摘要:本章深入分析OpenOCD Target子系统的核心实现机制。重点包括:1) 通过target_type虚函数表实现多架构抽象,支持ARM、RISC-V等30+种目标;2) ARM ADIv5协议栈实现,包含DAP/AP核心数据结构和访问机制;3) 分层架构设计,从调试接口层到传输层的完整调用链路。系统采用面向对象思想,统一管理目标状态、寄存器缓存、断点/观察点等调试要素,为上层提供标准化的调试操作接口。 阅读详情

java.util.Properties是对properties这类配置文件的映射。支持key-value类型和xml类型两种。

key-value类型的配置文件大略长这样:

#测试环境配置:平台路径配置
jstrd_home=D:/TMS2006/webapp/tms2006/WEB-INF/
dbPort = localhost
databaseName = myd
dbUserName = root

#打头的是注释行,Properties会忽略注释。允许只有key没有value。

例如这样:

#测试环境配置:平台路径配置
jstrd_home=D:/TMS2006/webapp/tms2006/WEB-INF/
dbPort = 
databaseName

这种情况下,value会被set成null。

properties类实现了Map接口,所以很明显,他是用map来存储key-value数据,所以也注定存入数据是无序的,这个点需要注意。只能通过key的方式来get对应value。

针对key-value这种配置文件,是用load方法就能直接映射成map,非常简单好用。这种配置文件也是我们最重要碰到的配置文件,利用properties读取这类文件到内存一行代码就欧科,比自己解析强大多了,这点很赞。

读取配置文件的大略代码如下:

public class LoadSample {  
    public static void main(String args[]) throws Exception {  
      Properties prop = new Properties();  
      FileInputStream fis =   
        new FileInputStream("sample.properties");  
      prop.load(fis);  
      prop.list(System.out);  
      System.out.println("\nThe foo property: " +  
          prop.getProperty("foo"));  
    }  
}

第六行的load方法直接生产一个内存map,第九行就能get到对应的value了,简单快捷。

这里的第七行list方法是一个输出方法,这边是输出到console,也可以输出到文件等,就能实现内存写入配置文件了。

比如这样:

//通过list 方法将Properties写入Properties文件
import java.io.IOException;
import java.io.File;
import java.io.FileInputStream;
import java.io.PrintStream;
import java.util.Properties;

public class Test {
    public static void main(String[] args) {
        Properties p = new Properties();
        p.setProperty("id","dean");
        p.setProperty("password","123456");
        try{
            PrintStream fW = new PrintStream(new File("e:\\test1.properties"));
          p.list(fW );} catch (IOException e) {
          e.printStackTrace();
        }
    }
}

这样就能把内存中的properties对象写入到文件中了。

另外一种配置形式是xml形式的,这种配置相对上面一种就少见一点。

xml形式的配置文件格式大略是这样:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
<comment>Hi</comment>  
<entry key="foo">bar</entry>  
<entry key="fu">baz</entry>  
</properties>
读取xml配置跟读取kv配置没差别,就是把load换成xml对应的loadFromXML方法,代码大略是这样:

public class LoadSampleXML {  
    public static void main(String args[]) throws Exception {  
      Properties prop = new Properties();  
      FileInputStream fis =  
        new FileInputStream("sampleprops.xml");  
      prop.loadFromXML(fis);  
      prop.list(System.out);  
      System.out.println("\nThe foo property: " +  
          prop.getProperty("foo"));  
    }  
}

把内存中的properties对象写入到xml文件中也和上面差不多,就是把list方法改成xml对应的storeToXML方法。

代码大略是这样:

import java.io.IOException;
import java.io.File;
import java.io.FileInputStream;
import java.io.PrintStream;
import java.util.Properties;

public class Test {
    public static void main(String[] args) {
        Properties p = new Properties();
        p.setProperty("id","dean");
        p.setProperty("password","123456");

        try{
            PrintStream fW = new PrintStream(new File("e:\\test1.xml"));
            p.storeToXML(fW,"test");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
package stu; 

import java.io.*; 
import java.util.Properties; 

public class TestProperties { 
        public static void main(String args[]) throws IOException { 
                testProperties(); 
                test1(); 
        } 

        public static void testProperties() throws IOException { 
                System.out.println("------------testProperties-------------"); 
                //将properties文件加载到输入字节流中 
                InputStream is = new FileInputStream("D:\\myprojects\\lession4\\src\\stu\\ttt.properties"); 
                //创建一个Properties容器 
                Properties prop = new Properties(); 
                //从流中加载properties文件信息 
                prop.load(is); 
                //循环输出配置信息 
                for (Object key : prop.keySet()) { 
                        System.out.println(key + "=" + prop.get(key)); 
                } 
                //定义一个输出流 
                OutputStream os1 = new FileOutputStream("C:\\ttt.xml"); 
                OutputStream os2 = new FileOutputStream("C:\\ttt.properties"); 

                //从Properties对象导出导出到xml 
                prop.storeToXML(os1, "我从properties导出的XML配置文件"); 
                //从Properties对象导出properties文件 
                prop.store(os2, "我从properties导出的XML配置文件"); 

                is.close(); 
                os1.close(); 
                os2.close(); 

                //从xml加载配置信息,填充Properties容器 
                prop.loadFromXML(new FileInputStream("C:\\ttt.xml")); 
                //循环输出配置信息 
                System.out.println("我从导出的xml加载配置文件信息!"); 
                for (Object key : prop.keySet()) { 
                        System.out.println(key + "=" + prop.get(key)); 
                } 

                //修改Properties对象,并持久化到一个文件 
                prop.put("呵呵呵", "嘎嘎嘎"); 
                OutputStream os3 = new FileOutputStream("C:\\ttt1.xml"); 
                prop.storeToXML(os3, "我从properties导出的XML配置文件"); 
                os3.close(); 
        } 

        /** 
         * 以相对路径方式加载properties文件 
         * 
         * @throws IOException 
         */ 
        public static void test1() throws IOException { 
                System.out.println("------------test1-------------"); 
                Properties p = new Properties(); 
                p.load(TestProperties.class.getResourceAsStream("/stu/ttt.properties")); 
                for (Object key : p.keySet()) { 
                        System.out.println(key + "=" + p.get(key)); 
                } 
        } 
}
java读取properties文件的六种方法 
使用j2se api读取properties文件的六种方法
1、使用java.util.properties类的load()方法
示例: inputstream in = lnew bufferedinputstream(new fileinputstream(name)) 
properties p = new properties() 
p.load(in) 
2、使用java.util.resourcebundle类的getbundle()方法
示例: resourcebundle rb = resourcebundle.getbundle(name locale.getdefault()) 
3、使用java.util.propertyresourcebundle类的构造函数
示例: inputstream in = new bufferedinputstream(new fileinputstream(name)) 
resourcebundle rb = new propertyresourcebundle(in) 

4、使用class变量的getresourceasstream()方法
示例: inputstream in = jproperties.class.getresourceasstream(name) 
properties p = new properties() 
p.load(in) 
5、使用class.getclassloader()所得到的java.lang.classloader的getresourceasstream()方法
示例: inputstream in = jproperties.class.getclassloader().getresourceasstream(name) 
properties p = new properties() 
p.load(in) 
6、使用java.lang.classloader类的getsystemresourceasstream()静态方法
示例: inputstream in = classloader.getsystemresourceasstream(name) 
properties p = new properties() 
p.load(in) 
补充
servlet中可以使用javax.servlet.servletcontext的getresourceasstream()方法
示例:inputstream in = context.getresourceasstream(path) 
properties p = new properties() 
p.load(in) 










华为OD机试双机位C卷:字符串计数匹配 (C/C++/Py/Java/Js/Go) 华为OD机试双机位C卷 字符串计数匹配,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。 华为OD机试 字符串计数匹配, 华为OD上机考试 - 字符串计数匹配。 阅读详情

相关推荐

使用Properties类来读取配置文件

使用Java中的Properties类的方法,以及类加载器来读取配置文件中的信息。可以读取.properties文件和.cfg文件。详细代码+注释+测试例子

java.util.Properties类操作properties文件

文章目录1 Properties类1.1 认识properties文件1.2 了解Properties类1.3 properties文件与Properties类的关系1.4 使用Properties类1.4.1 操作properties1.4.2 操作XML文件1.4.3 java读取properties文件的九种方法 1 Properties类 由于java.util.Properties类也是属于继承Map的,所以就归类到集合这章了 1.1 认识properties文件 了解并认识properties

上善若泪 3090

慕仁大学图书馆管理系统JSP+ Spring +JDBC +Servlet

1 学生用户端查询图书,学生用户可以对图书馆的图书进行查找,以找到自己需要的书。预约图书,如果想借的书已经借出,可以再次进行图书预约。学生可以进入系统进行查询自己的基本信息如当前借阅和历史借阅等信息。挂失图书,图书如果丢失,可以在学生端进行挂失。2 管理员端学生管理,对学生信息的增、删、改、查等操作。图书管理,包括对图书的增、删、改等。借阅管理 ,学生借书和归还书的处理。管理员管理,有权限控制,分为超级管理员和普通管理员。

java.util.Properties类学习

Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。 一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。 因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但不建议使...

qq_38872310的博客 3190

Java 类之 java.util.Properties

Java 中用于处理属性文件的一个类。属性文件通常用于存储配置信息,例如应用程序的设置和参数。Properties类提供了一种方便的方式来管理键值对,其中键和值都是字符串类型。它本质上是一个Hashtable,因为Hashtable已经过时了,所以了解即可!Hashtable是不是有点过时了?ChatGPT 回答:是的,Hashtable类在Java中被认为有点过时。虽然它是一个实现了基本的哈希表功能的类,但在 Java Collections Framework 中引入了更先进、更强大的替代类,如。

訾博(ZiBo)的博客 665

Java属性文件– java.util.Properties

Java properties file are used to store key-value pair configuration. java.util.Properties class is used to work with properties file in java. Java属性文件用于存储键值对配置。 java.util.Properties类用于在Java中使用属性文件。 ...

从零开始的教程世界 869

Java.util.properties

Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。不仅可以用它在单独一行中指定用等号分隔的多个键-值对,还可以用XML 文件装载和保存这些键-值对。 因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但不建议使用这两个方法,因为它们

u014785687的博客 571

java properties用法_java.util.Properties 的常见使用方法

Properties 文件通常被用来当做 java 的配置文件使用,通过键值对来操作数据, 在实际的使用过程中,经常会有如下一些用法.1. 从文件中得到 properties 的各种键值对。2.Properties 对象保存到文件中.3. 获取Properties 对象某个具体key的值, 如果没有给默认值的情况。在项目中经常使用的几个处理Properties 的公用类package com....

weixin_39652136的博客 572

java.util.properties用法

Properties 类已不是新东西了,它在 Java 编程的早期就有了,并且几乎没有什么变化。J2SE 的 Tiger 版本增强了这个类,不仅可以用它在单独一行中指定用等号分隔的多个键-值对,还可以用XML 文件装载和保存这些键-值对。在 驯服 Tiger的这一期文章中,John Zukowski 展示了如何驾驭这匹新一代的“役马”。 J2SE 1.5 以前的版本要求直接使用 XML 解析器来装载配置文件并存储设置。虽然这并非是一件困难的事情,并且解析器是平台的标准部分,但是额外的工作总是有点让人烦。最近

Miracle 1921

java.util.Properties 简单用法

[align=center][color=red]1. 认识properties文件[/color][/align] 1、properties文件是一个文本文件 2、properties文件的语法有两种,一种是注释,一种属性配置。 注 释:前面加上#号 属性配置:以“键=值”的方式书写一个属性的配置信息。 3、properties文件的一个属性配置信息值可以换行,但键不可以换行...

LGF124241877的专栏 230

java.util.Propertiesjava.util.ResourceBundle类区别与用法

文章出处:http://blog.sina.com.cn/s/blog_9639d9a101011tf6.html# 区别:一般来说,ResourceBundle类通常是用于针对不同的语言来使用的属性文件。而如果你的应用程序中的属性文件只是一些配置,并不是针对多国语言的目的。那么使用Properties类就可以了。 1.    连接数据库所需参数(config.properties

guoliang1992 319

java.util.Properties类 学习笔记2

查看原文:http://ibloger.net/article/132.htmljava.util.Properties类 学习笔记 学习目标: 1、认识properties文件,理解其含义,会正确创建properties文件。 2、会使用java.util.Properties类来操作properties文件。 3、掌握相对路径,能正确书写一个properties文件的相对路径。 一、认

X-rapido的专栏 618

java Properties类的用法

java.util包下面有一个类Properties,该类主要用于读取以项目的配置文件(以.properties结尾的文件和xml文件),本文给大家讲解一下Properties用法Properties结构:class Properties extends Hashtable例子一:读取.properties文件。首先建立一个.properties文件,内容如下:#网站信息 website =

Code-lover's Learning Notes 698

JavaProperties

PropertiesJava.util.Properties)是Java中一个比较重要的类,主要用于读取Java的配置文件。各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”或者“键 值”的格式,文本注释信息可以用"#"来注释。 在做Java项目开发过程中,涉及到一些数据库服务连接配置、缓存服务器连接配置

weixin_53972936的博客 2万+

Java的`java.util.Properties`的用法

Java的类是用于处理属性文件的工具类,它继承自类。Properties类提供了读取和写入属性文件的方法,使得我们能够在程序中轻松地操作和管理配置信息。下面是对Properties类的API进行讲解,并包含四个案例来演示其用法

谁偷了我的小熊饼干 535

Java.util.Properties

文章目录代码抄靠连接java属性集合Properties类详解例子将Properties集合中的键值对写入到文件中Properties中的list()方法写入文件把文件中的数据传入到Properties集合中,用Properties中的load()方法参考链接 Java.util.Properties,读取Java的配置文件,不同的语言有自己支持的配置文件 配置文件中很多变量是经常改变的, 为方...

fgh123的博客 568

java.util.Properties类 学习笔记

java.util.Properties类 学习笔记 学习目标: 1、认识properties文件,理解其含义,会正确创建properties文件。 2、会使用java.util.Properties类来操作properties文件。 3、掌握相对路径,能正确书写一个properties文件的相对路径。 一、认识properties文件 1...

weixin_33755554的博客 220

java.util.Properties

java.util包下面有一个类Properties,该类主要用于读取以项目的配置文件(以.properties结尾的文件和xml文件) Properties结构: class Properties extends Hashtable 从上面可以看出来Properties继承自Hashtable。 例子一:读取.properties文件。 首先建立一个.

woshimyc的专栏 729
上一篇: Java编程思想读书笔记-7
下一篇: Hibernate常用Annotation标签说明
kekelht
博客等级 码龄14年 11粉丝 44原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值