您当前的位置:首页 > 互联网教程

java编程中Properties类的具体作用和使用!

发布时间:2025-05-23 06:30:11    发布人:远客网络

java编程中Properties类的具体作用和使用!

一、java编程中Properties类的具体作用和使用!

如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的。(如清单 1所示)。最近更新的java.util.Properties类现在提供了一种为程序装载和存储设置的更容易的方法: loadFromXML(InputStreamis)和 storeToXML(OutputStream os, String comment)方法。

一下是详细的说明,希望能给大家带来帮助。

将清单 1装载到 Properties对象中后,您就可以找到两个键( foo和 fu)和两个值( foo的 bar和 fu的baz)了。这个类支持带\u的嵌入 Unicode字符串,但是这里重要的是每一项内容都当作 String。

清单2显示了如何装载属性文件并列出它当前的一组键和值。只需传递这个文件的 InputStream给 load()方法,就会将每一个键-值对添加到 Properties实例中。然后用 list()列出所有属性或者用 getProperty()获取单独的属性。

public static void main(String args[]) throws Exception{

Properties prop= new Properties();

new FileInputStream("sample.properties");

System.out.println("\nThe foo property:"+

运行 LoadSample程序生成如清单 3所示的输出。注意 list()方法的输出中键-值对的顺序与它们在输入文件中的顺序不一样。Properties类在一个散列表(hashtable,事实上是一个 Hashtable子类)中储存一组键-值对,所以不能保证顺序。

这里没有什么新内容。 Properties类总是这样工作的。不过,新的地方是从一个 XML文件中装载一组属性。它的 DTD如清单 4所示。

<?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>

如果不想细读 XML DTD,那么可以告诉您它其实就是说在外围<properties>标签中包装的是一个<comment>标签,后面是任意数量的<entry>标签。对每一个<entry>标签,有一个键属性,输入的内容就是它的值。清单 5显示了清单 1中的属性文件的 XML版本是什么样子的。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM" ">

<comment>Hi</comment>

<entry key="foo">bar</entry>

<entry key="fu">baz</entry>

如果清单 6所示,读取 XML版本的 Properties文件与读取老格式的文件没什么不同。

清单 6.读取 XML Properties文件

public static void main(String args[]) throws Exception{

Properties prop= new Properties();

new FileInputStream("sampleprops.xml");

System.out.println("\nThe foo property:"+

虽然 java.util.Properties类现在除了支持键-值对,还支持属性文件作为 XML文件,不幸的是,没有内置的选项可以将ResourceBundle作为一个 XML文件处理。是的, PropertyResourceBundle不使用 Properties对象来装载绑定,不过装载方法的使用是硬编码到类中的,而不使用较新的 loadFromXML()方法。

运行清单 6中的程序产生与原来的程序相同的输出,如清单 2所示。

新的 Properties还有一个功能是将属性存储到 XML格式的文件中。虽然 store()方法仍然会创建一个类似清单 1所示的文件,但是现在可以用新的 storeToXML()方法创建如清单 5所示的文件。只要传递一个 OutputStream和一个用于注释的 String就可以了。清单 7展示了新的 storeToXML()方法。

清单 7.将 Properties存储为 XML文件

public static void main(String args[]) throws Exception{

Properties prop= new Properties();

prop.setProperty("one-two","buckle my shoe");

prop.setProperty("three-four","shut the door");

prop.setProperty("five-six","pick up sticks");

prop.setProperty("seven-eight","lay them straight");

prop.setProperty("nine-ten","a big, fat hen");

new FileOutputStream("rhyme.xml");

运行清单 7中的程序产生的输出如清单 8所示。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM" ">

<comment>Rhyme</comment>

<entry key="seven-eight">lay them straight</entry>

<entry key="five-six">pick up sticks</entry>

<entry key="nine-ten">a big, fat hen</entry>

<entry key="three-four">shut the door</entry>

<entry key="one-two">buckle my shoe</entry>

import java.io.FileInputStream;

public static void main(String[] args){

long start= System.currentTimeMillis();

InputStream is= new FileInputStream("conf.properties");

Properties p= new Properties();

System.out.println("SIZE:"+ p.size());

System.out.println("homepage:"+ p.getProperty("homepage"));

System.out.println("author:"+ p.getProperty("author"));

System.out.println("school:"+ p.getProperty("school"));

long end= System.currentTimeMillis();

System.out.println("Cost:"+(end- start));

homepage=

school= jilinjianzhugongchengxueyuan

homepage:

school: jilinjianzhugongchengxueyuan

二、java调用properties文件的问题

Java可使用Properties类读写properties,具体说明如下:

1.Properties类与Properties配置文件

Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。

这个方法可以从.properties属性文件对应的文件输入流中,加载属性列表到Properties类对象。如下面的代码:

Properties pro= new Properties();

FileInputStream in= new FileInputStream("a.properties");

(2)store(OutputStream out, String comments)

这个方法将Properties类对象的属性列表保存到输出流中。如下面的代码:

FileOutputStream oFile= new FileOutputStream(file,"a.properties");

如果comments不为空,保存后的属性文件第一行会是#comments,表示注释信息;如果为空则没有注释信息。

注释信息后面是属性文件的当前保存时间信息。

这两个方法是分别是获取和设置属性信息。

读取a.properties属性列表,与生成属性文件b.properties。代码如下:

import java.io.BufferedInputStream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

public static void main(String[] args){

InputStream in= new BufferedInputStream(new FileInputStream("a.properties"));

Properties prop= new Properties();

Iterator<String> it= prop.stringPropertyNames().iterator();

System.out.println(key+":"+ prop.getProperty(key));

FileOutputStream oFile= new FileOutputStream("b.properties", true);// true表示追加打开

prop.setProperty("phone","10086");

prop.store(oFile,"The New properties file");

三、asset和property之间的区别

asset和property之间的区别

二者都可以作为“资产、财产”理解,具体有:

二者都可以作为“资产、财产”理解,具体有:

1. asset主要侧重于可以动用的资源,如果想要表达可以用资产支付或者购买,那么就需要用asset,而且通常为复数形式。看一个例句: There are not much assets left of the Company after its liquidation.公司清算后,资产已经所剩无几。(这就是用于清偿债务的资产)常见搭

2. property主要侧重对财产的所有权和支配权,比如对财产的占有、转让、租赁或抵押等。看例句:

He deeded the property to his daughter.跟读

intellectual property right智慧财产权

private property私有财产;私有制

into侧重于表示动作的全过程,“进入里面”

HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象识别符号体系),句法类同:体系。用于安全的HTTP资料传输。:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的预设埠及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于全球资讯网上安全敏感的通讯,例如交易支付方面。

handsome形容男生,帅气,风度翩翩,慷慨的

beautiful美丽的,形容成***性,某人跳舞跳得好,可以用beautifully来形容

reach及物动词,后面直接加地点

arrive at加小地方,小于城市的地方

arrive in加大地方,大于城市的地方

#1. Array型别的变数在宣告的同时必须进行例项化(至少得初始化阵列的大小),而ArrayList可以只是先宣告。

或 ArrayList myList= new ArrayList();

这些都是合法的,而直接使用 int[] array;是不行的。

这里用listen for表示“注意倾听”来辨别某人呼叫的方位。不可以改为listen to

listen to指的是一般的“听”如:listen to the radio, listen to the teacher, listen to my dad

及物动词 vt.&不及物动词 vi.

It will rain in the afternoon.

区别:rainy只能作形容词,而rain可以做名词和动词。

1.fragment显得更加灵活。可以直接在XML档案中新增,Activity则不能。 eg: 2.可以在一个介面上灵活的替换一部分页面,活动不可以,做不到。替换的时候注意要将这个fragment放在返回栈上。 3.fragment和Activity之间的通讯

JAVASCRIPT是执行在客户端的程式多用来做一些美化或者“人性化设计”方案

VBSCRIPT是执行在伺服器端的程式,用来生成HTML程式码或者JAVASCRIPT程式码,是伺服器端语言。

另外你还得学点资料库啊,JAVA啊,ASPX啊,ASP啊,PHP啊AJAX啊什么的,努力吧,在网速稳定的时候,这门手艺还是有前途的。

RTV指安装有实时视讯点播系统[ Real-Time VOD(Video On Demand)]的歌舞娱乐场所;

KTV,从狭义的理解为:提供卡拉ok影音装置与视唱空间的场所。广义理解为集合卡拉ok、慢摇、HI房、背景音乐并提供酒水服务的主营业为夜间的娱乐场。

RTV和KTV之间的区别为:RTV可以看成电影院。KTV可以理解为歌厅。