java.util.Properties
1 Properties文件中分隔符及空格的处理
因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但强烈反对使用这两个方法,因为它们允许调用方插入其键或值不是 Strings 的项。相反,应该使用 setProperty 方法。如果在“有危险”的 Properties 对象(即包含非 String 的键或值)上调用 store 或 save 方法,则该调用将失败
zz=Hello
aa= Hello
bb = Hello
cc = Hello
p.load(new FileInputStream("D:\\iEMP\\iEMP\\etc\\sysconf\\asdf.properties"));
String va = p.getProperty("bb");
String vb = p.getProperty("aa");
System.out.println("AA"+va+"BB");
System.out.println("AA"+vb+"BB");
打印
AAHello BB
AAHelloBB
可见, = 号前后是可以有空白的,但是key之前,value之后则不可以!
若
zz=Hello
aa : Hello
bb : Hello \
cc = Hello
打印
AAHello cc = Hello BB
AAHello BB
将是两字符的键 ":="。可以使用 \r 和 \n 转义序列包括行结束符字符。跳过键后面的所有空白字符;如果键后的首个非空白字符是 '=' 或 ':',则忽略该字符并且跳过其后的所有空白字符。行中所有剩余的字符都成为关联元素字符串的一部分;如果没有剩余的字符,则该元素为空字符串 ""。一旦标识了组成键和元素的原始字符序列,则如上所述执行转义处理。
作为一个示例,以下三行都指定了键 "Truth" 和关联元素值 "Beauty":
Truth = Beauty
Truth:Beauty
Truth :Beauty
另一个示例,以下三行都指定了单个属性:
fruits apple, banana, pear, \
cantaloupe, watermelon, \
kiwi, mango
--------------------- 参照jdk api文档 ------------- \ 在properties中被当做了换行符,既其后一行都被当成了当前行的value
------------- 可以出现“:”、“=”作为key、value分隔符,但是不能同时出现———以第一个出现的为准。
@ConstructorProperties 的用法:
http://www.cnblogs.com/kaitao/archive/2012/02/21/2361671.html
2 Propertie 与xml文件
public static synchronized boolean storeToXML(
) {
Map<String, String> refConfMap = new HashMap();
refConfMap.put("aa", " LK ");
Properties cfgPro = new Properties();
cfgPro.putAll(refConfMap); OutputStream out = null;
try {
File confFile = new File("d://test/test/aa.xml");
if (!confFile.exists()) {
confFile.createNewFile();
}
out = new FileOutputStream(confFile);
cfgPro.storeToXML(out, "Hello comment !");
} catch (IOException e) {
return false;
} finally {
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} return true;
} private static void loadFromXML() {
Map<String, String> refConfMap = new HashMap();
Properties cfgPro = new Properties();
InputStream in;
try {
in = new FileInputStream("d://test//test/aa.xml");
cfgPro.loadFromXML(in ); String vv = (String) cfgPro.get("aa");
System.out.println(vv); } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
java.util.Properties的更多相关文章
- Android中使用java.util.Properties犯的错
今天尝试使用java.util.Properties来保存应用配置,然而遇到了好几个问题,对于熟悉此内容的来说可能都是猪一样的错误,但难免有像我一样的新手再次遇到,希望此文能有所帮助. 错误1 jav ...
- JavaSE配置文件java.util.Properties【单例模式Singleton】
如果不是放在src文件夹里面,则: p.load(new BufferedInputStream(new FileInputStream("tank.properties"))); ...
- 关于java.util.Properties读取中文乱码的正确解决方案(不要再用native2ascii.exe了)
从Spring框架流行后,几乎根本不用自己写解析配置文件的代码了,但近日一个基础项目(实在是太基础,不能用硕大繁琐的Spring), 碰到了用java.util.Properties读取中文内容(UT ...
- 使用java.util.Properties类读写配置文件
J2SE 1.5 以前的版本要求直接使用 XML 解析器来装载配置文件并存储设置,虽说也并非难事,相比 java.util.Properties却要做额外的解析工作.而java.util.Proper ...
- java.util.Properties工具类
import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import ...
- java.util.Properties类 学习笔记
学习目标: 1.认识properties文件,理解其含义,会正确创建properties文件. 2.会使用java.util.Properties类来操作properties文件. 3.掌握相对路 ...
- 属性集合java.util.Properties
属性集合java.util.Properties java.util.Properties集合 extends Hashtable<k, v> implements Map<k, v ...
- Java.util.properties读取配置文件分析
Java.util.properties API链接: https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html Clas ...
- 【Java笔记】配置文件java.util.Properties类的使用
配置文件的路径:项目名/src/main/resources/mmall.properties mmall.properties的内容是键值对.例如假设写了ftp服务器的一些信息. ftp.serve ...
- freemarker遍历java.util.Properties
java.util.Properties类 学习笔记 http://trans.blog.51cto.com/503170/110227/ FreeMarker代码 <#list systemP ...
随机推荐
- Maven + Eclipse + Tomcat - 开启项目调试之旅(转)
本文的读者需要拥有一些Maven基础知识和实践,如果没有,请直接绕过或者先看一些关于Maven教程,比如Juven翻译的<Maven权威指南>,google一下便知. 开门见山,首先抛出一 ...
- 开博了,hello world
hello world hello world hello world hello world hello world hello world he ...
- 【Java学习笔记】集合转数组---toArray()
package p2; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ...
- hdoj 2039 三角形
Problem Description 给定三条边,请你判断一下能不能组成一个三角形. Input 输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C.其中A,B,C & ...
- 百度地图开发 Android版应用Key申请
一 申请API key 在使用百度地图之前,我们必须去申请一个百度地图的API key,申请地址http://lbsyun.baidu.com/apiconsole/key,自己自行注册一个百度账号, ...
- IOS调用WCF服务,WCF服务器进行上传图片
1.IOS端采用post方式请求服务器端的url地址 如:http://192.168.0.12:50000/serverce1.svc/upload IOS端的代码采用base64位编码的方式传值给 ...
- bootstrap模态框modal使用remote第二次加载显示相同内容解决办法
bootstrap模态框modal使用remote动态加载内容,第二次加载显示相同内容解决办法 bootstrap的modal中,使用remote可以动态加载页面到modal-body中,并弹窗显示 ...
- 【洛谷P3076】Taxi
这道题值得好好想一会 我们通过对一些小数据的手算,以及对于每段路程的拆分,可以发现: 1.每个st对应的ed这段路程无论如何都要算上 2.额外还要计算的一段路程,就是"切换"费用 ...
- 远程登录linux不用输入密码的方法
原创文章,欢迎阅读,未经博主允许禁止转载. ssh免密登录,使用密钥认证.执行以下命令,一路回车,就生成了密钥认证.然后,ssh登录,scp等都不用密码了. $ ssh-keygen -t rsa $ ...
- 找一个四位数,要求该四位数的四倍刚好是该四位数的反序。 即b1b2b3b4 * 4 = b4b3b2b1
找一个四位数,要求该四位数的四倍刚好是该四位数的反序. 即b1b2b3b4 * 4 = b4b3b2b1 解: 第一步,确认最末位 假设 b1b2b3b4 + b4b3b2b1 = [x0]x1x2x ...