廖雪峰Java5集合-3Map-Properties的使用
Properties用于读取配置
- properties文件只能使用ASCII码
- #表示注释
- 可以从文件系统读取.properties文件
Properties props = new Properties();
String f = "C:\\conf\\setting.properties";
props.load(new FileInputStream(f));
- 可以从classpath读取.properties文件
Properties props = new Properties();
props.load(getClass().getResourceAsStream("/com/testList/setting.properties"));
- 读取多个.properties文件
- 后读取的key-value会覆盖已读取的key-value。可以把默认的配置放在classpath中,根据环境编写另外的配置。
Properties设计的目的是为了存储String类型的key-value,但Properties实际上是从Hashtable派生的,存在兼容型问题,且未修复,get和put方法不要用
- String getProperty(String key)
- void setProperty(String key,String value)
- Object get(Object key)
- void put(Object key,Object value)
setting.properties
url=https://www.baidu.com
language=Java
course.title=java\u96c6\u5408\u7c7b
Main.java
public class Main {
public static void main(String[] args) throws IOException {
Properties props = new Properties();
props.load(Main.class.getResourceAsStream("/com/testList/setting.properties"));
String url = props.getProperty("url");
String courseTitle = props.getProperty("course.title");
String language = props.getProperty("language");
String desc = props.getProperty("description","no desciption");
System.out.println(url);
System.out.println(courseTitle);
System.out.println(language);
System.out.println(desc);
}
}

## 总结
* Properties用于读写配置文件xx.properties
* .properties文件只能使用ASCII编码
* 可以从ClassPath或文件系统读取.properties文件
* 读写Properties时:
* 仅使用getProperty()/setProperty()方法
* 不要调用继承而来的get()/put()方法
廖雪峰Java5集合-3Map-Properties的使用的更多相关文章
- 廖雪峰Java5集合-3Map-1使用Map
廖雪峰的视频不全,以下是疯狂Java关于Map的讲解 1.Map定义 Map是一种键值映射表,可以通过key快速查找value,同python的dict.key不允许重复,value可以重复. Map ...
- 廖雪峰Java5集合-4Set-1使用Set
集合 Set用于存储不重复的元素集合: boolean add(E e) boolean remove(Object o) boolean contains(Object o) int size() ...
- 廖雪峰Java5集合-1Java集合简介-1Java结合简介
1.集合 定义:集合就是一堆东西.集合里的东西,称为元素Element 数学中的集合: 有限集合: * 一个班所有的学生组成的集合 * 一个网站所有的商品组成的集合 无限集合: * 全体自然数集合 * ...
- 廖雪峰Java5集合-6Stack-1使用Stack
1.栈的定义 栈Stack是一种后进先出(LIFO: Last In First Out)的数据结构,可以看作一端封闭的容器,先进去的元素永远在底部,最后出来. 栈有2个重要的方法: push(E e ...
- 廖雪峰Java5集合-2List-2编写equals方法
List是一种有序链表: List内部按照放入元素的先后顺序存放 每个元素都可以通过索引确定自己的位置 boolean contains(Object o) 是否包含某个元素 int indexOf( ...
- 廖雪峰Java5集合-2List-1使用List
1.List定义 List是一种有序链表: List内部按照元素的先后顺序存放 每个元素都可以通过索引确定自己的位置 类似数组,但大小可变 //List<E>是一种有序链表: //* Li ...
- 廖雪峰Java5Java集合-5Queue-1使用Queue
Queue特性和基本方法 Queue实现一个先进先出(FIFO, First In First Out)的队列.如收银台排队支付. Java中LinkedList实现了Queue接口,可以直接把Lin ...
- 爬取廖雪峰的python3教程
从廖雪峰老师的python教程入门的,最近在看python爬虫,入手了一下 代码比较low,没有用到多线程和ip代理池 然后呢,由于robots.txt的限定,构建了一些user-agent,并放慢的 ...
- 廖雪峰Java6 IO编程-2input和output-4Filter模式
1.JDK提供的InputStream分为两类: 直接提供数据的InputStream * FileInputStream:从文件读取 * ServletInputStream:从HTTP请求读取数据 ...
随机推荐
- 【递推】【HDOJ】
http://acm.hdu.edu.cn/showproblem.php?pid=2501 Tiling_easy version Time Limit: 1000/1000 MS (Java/Ot ...
- oracle 数据库相关名词--图解
通过下图,我们可以更好的理解oracle的结构关系. 知识拓展: 知识点及常用的命令如下: 1)通常情况我们称的“数据库”,并不仅指物理的数据集合,他包含物理数据.数据库管理系统.也即物理数据.内存 ...
- Go Example--if语句
package main import "fmt" func main() { //if else 条件都不需要括号,{}是需要的 if 7 % 2 == 0 { fmt.Prin ...
- centos7安装terminator
用惯了terminator再用系统自带的终端,发现很不习惯不能快速分屏,于是琢磨着给centos7安装terminator 方法一:rpm安装 首先,下载rpm包 wget -c http://li. ...
- oracle-srvctl-output
############################## [grid@rac01 ~]$ crsctl query crs administratorCRS Administrator List: ...
- day 29 socketsetserver 模块
1.FTP上传/下载服务端/客户端. --------------------------------------------------------------------------------- ...
- [转]ArrayList的实现原理
1. ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部 ...
- ES查询之刨根问底
昨天有一个需求,就是想要根据某个网关url做过滤,获取其下面所有的上下文nginx日志:如果直接"query":"https://XXX/YYY/ZZZ"发现有 ...
- 关于value_count
value_counts将会对于指定列的数据进行group,然后统计出各个出现的值的数量,并且按照从高到低的顺序进行排序 train_data = load_titanic_data("tr ...
- 【java】运算符
Java的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符. 算数运算符(9):+ - * / % ++ -- 关系运算符(6):== != > >= ...