Java_Properties
Java_Properties类
Hashtable与HashMap区别
- 主要:Hashtable线程安全,同步,效率相对低下
HashMap线程不安全,异步,效率高
- 父类:Hashtable父类是Dictionary
HashMap父类是AbstractMap
- Hashtable无论键值都不能为null
HashMap键可以有一个为空
值可以有很多为null
Properties继承于Hashtable
Properties类常用方法:
String getProperty(String key)
用指定的键在此属性列表中搜索属性。 String getProperty(String key, String defaultValue)
用指定的键在属性列表中搜索属性. Object setProperty(String key, String value)
调用 Hashtable 的方法 put。 void store(OutputStream out, String comments)
以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。 void storeToXML(OutputStream os, String comment)
发出一个表示此表中包含的所有属性的 XML 文档。默认编码UTF-8 void storeToXML(OutputStream os, String comment, String encoding)
使用指定的编码发出一个表示此表中包含的所有属性的 XML 文档。 Set<String> stringPropertyNames()
返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。 Enumeration<?> propertyNames()
返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。
四种加载资源文件方法
直接加载
1.相对路径
//相对路径
p.load(new FileInputStream(new File("db.properties")));
2.绝对路径
//绝对路径
p.load(new FileInputStream(new File("C:\\Users\\Administrator\\Desktop\\db.properties")));
使用类的相对路径获取资源文件
3.类路径加载资源文件1
//类路径加载资源文件
p.load(Demo3.class.getResourceAsStream("/com/ahd/Hashtable/db.properties"));;
4.类路径加载资源文件2
p.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("com/ahd/Hashtable/db.properties"));;
练习代码
package com.ahd.Hashtable; import java.util.Properties; /***
* Hashtable与HashMap区别:
* 1.Hashtable线程安全,同步,效率低下
* HashMap线程不安全,异步,效率高
* 2.继承的父类不同,Hashtable继承于Dictionary
* HashMap继承于AbstractMap
* 3.Hashtable无论键值不能为null
* HashMap键可以有一个为null,值可以有很多null
* properties是Hashtable的子类
* @author Administrator
*
*/
public class Demo1 {
public static void main(String[] args) {
Properties p=new Properties();
//设置存储值
p.setProperty("user", "scott");
p.setProperty("password", "123456");
//读取值
String user=p.getProperty("user");
String password=p.getProperty("password", "test"); System.out.println(user);
System.out.println(password); }
}
Demo1
package com.ahd.Hashtable; import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties; public class Demo2 {
public static void main(String[] args) throws FileNotFoundException, IOException {
//设置键值
Properties p=new Properties();
p.setProperty("user", "scott");
p.setProperty("password", "123456"); //存入文件 .properties 绝对路径
p.store(new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\db.properties")), "db配置备注");
p.storeToXML(new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\db.xml")), "db配置备注"); //存入文件,相对路径 默认是本工程
p.store(new FileOutputStream(new File("db.properties")), "db配置备注");
p.storeToXML(new FileOutputStream(new File("db.xml")), "db配置备注"); }
}
Demo2
package com.ahd.Hashtable; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; /***
* 从文件中读取map信息
* @author Administrator
*
*/
public class Demo3 {
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties p=new Properties();
//相对路径
//p.load(new FileInputStream(new File("db.properties"))); //绝对路径
//p.load(new FileInputStream(new File("C:\\Users\\Administrator\\Desktop\\db.properties"))); //类路径加载资源文件
//p.load(Demo3.class.getResourceAsStream("/com/ahd/Hashtable/db.properties"));; //线程加载
p.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("com/ahd/Hashtable/db.properties"));;
System.out.println(p.getProperty("user","ddd"));
}
}
Demo3
Java_Properties的更多相关文章
- java_Properties写入文件
package ming; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.F ...
- java_Properties集合
package propertiesTest; import java.io.FileReader; import java.io.FileWriter; import java.io.IOExcep ...
- 大数据之Oozie——源码分析(一)程序入口
工作中发现在oozie中使用sqoop与在shell中直接调度sqoop性能上有很大的差异.为了更深入的探索其中的缘由,开始了oozie的源码分析之路.今天第一天阅读源码,由于没有编译成功,不能运行测 ...
- 如何使weblogic11g类似weblogic923一样统一使用一个boot.properties文件
如何使weblogic11g类似weblogic923一样 统一使用一个boot.properties文件 1.在weblogic域下创建文件boot.properties输入用户密码例如:usern ...
- 关于一次Weblogic活动线程的问题处理
Weblogic控制台监控发现 环境>>服务器>>你的服务器>>监控>>线程 中活动执行线程竟然是2000多.同一套系统在另一套平台上,并且访问的人不少 ...
- J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题
J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题 2012年03月09 ...
- JProfiler远程监控
1. 服务端安装JProfiler(与客户端版本一致) 2. 客户端配置连接: A).session——integration wizards——New remote integration B) ...
- Windows客户端的JProfiler远程监控Linux上的Tomcat
1.测试环境 服务器:RedHat Linux 3.4.3-9.EL4(内核版本 2.6.9-5.EL),Tomcat5.5.20,Sun JDK 1.5.0_09,JProfiler 4.3.2 f ...
- JProfiler远程监控 -转
1. 服务端安装JProfiler(与客户端版本一致) 2. 客户端配置连接: A).session——integration wizards——New remote integration B).选 ...
随机推荐
- logminer日志挖掘
参考自:https://blog.csdn.net/yes_is_ok/article/details/79296614 原文转自:http://blog.itpub.net/26736162/vie ...
- 谈一款MOBA类游戏《码神联盟》的服务端架构设计与实现(更新优化思路)
注:本文仅用于在博客园学习分享,还在随着项目不断更新和完善中,多有不足,暂谢绝各平台或个人的转载和推广,感谢支持. 一.前言 <码神联盟>是一款为技术人做的开源情怀游戏,每一种编程语言都是 ...
- 两种经典电商CSS布局
圣杯布局和双飞翼布局! 两种布局功能相同,都是为了实现两端宽度固定,中间宽度自适应的三栏布局 圣杯布局: 三个区域都处于左浮动状态,并使main的宽度成父容器的100% 为两侧侧边栏添加负margin ...
- Python面向对象1:类与对象
Python的面向对象- 面向对象编程 - 基础 - 公有私有 - 继承 - 组合,Mixin- 魔法函数 - 魔法函数概述 - 构造类魔法函数 - 运算类魔法函数 # 1. 面向对象概述(Objec ...
- 第一节:ASP.NET开发环境配置
第一节:ASP.NET开发环境配置 什么是ASP.NET,学这个可以做什么,学习这些有什么内容? ASP.NET是微软公司推出的WEB开发技术. 2002年,推出第一个版本,先后推出ASP.NET2. ...
- 第53节:Java当中的IO流(上)
Java当中的IO流 在Java中,字符串string可以用来操作文本数据内容,字符串缓冲区是什么呢?其实就是个容器,也是用来存储很多的数据类型的字符串,基本数据类型包装类的出现可以用来解决字符串和基 ...
- Metasploit Framework(6)客户端渗透(上)
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 前五篇文章讲解了Metasploit Framewor ...
- html 转义处理
比如要把:<span>test</span> 这段代码当做文本原样输出在页面上,如果按照正常的方式,肯定会被转义,在页面上只能看到 text.那么要想达到预想的效果,应该怎么办 ...
- linux查看系统32位还是64位
1. 从系统查看 1.1 uname -a 命令 [root@qs-dmm-rh2 ~]# uname -a Linux qs-dmm-rh2 2.6.18-194.el5 #1 SMP Tue Ma ...
- VueJs(6)---V-on指令
V-on指令 一.概述 v-on是用来绑定事件监听器,用在普通元素上时,只能监听原生 DOM 事件.用在自定义元素组件上时,也可以监听子组件触发的自定义事件. 在监听原生 DOM 事件时,方法以事件为 ...