Properties工具类学习
Properties类学习
1、定义
- Properties,java.utils包下的一个工具类,主要用于读取Java的配置文件。各种语言都有自己所支持的配置文件,配置文件中很多变量是经常变动的。
- 这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。
2、主要方法
它提供了几个主要的方法:
- getProperty(String key):用指定的键在属性列表中搜素属性。通过参数key,得到key所对应的value。
- load(InputStream input):从输入流中读取属性列表(键值对)。通过对指定的文件进行装载来获取该文件的所有键值对,以供getProperty(String key)方法来搜素。
- setProperty(String key, String value):调用Hashtable的put方法,通过调用基类的put方法来设置键值对。
- store(OutputStream out, String comments):以适合使用load方法加载到Properties表中的格式,将此Propertie表中的属性列表(键值对)写入输出流。与load方法相反,该方法将键值对写入到指定的文件中去。
- clear():清除所有装载的键值对。该方法在基类中提供。
3、注意
- ResourceBundle 只读
- Properties:可写可读
代码示例
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;
public class PropertiesDemo {
private static String version;
private static String username;
private static String password;
// 静态代码块,只会执行一次,类加载的时候就会执行
static {
// readConfig();
}
// 写入配置文件
public static void writeConfig(String version, String username, String password) {
Properties p = new Properties();
p.put("app.version", version);
p.put("db.username", username);
p.put("db.password", password);
try {
OutputStream outStream = new FileOutputStream("src/testio/conf.properties");
// 写文件
p.store(outStream, "update config");
outStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}// writeConfig
// 读取配置文件
public static void readConfig() {
Properties p = new Properties();
try {
// 由于这种方法需要写全路径(src)而发布时是没有src目录的,不推荐使用
// InputStream inStream = new FileInputStream("src/testio/conf.properties");
// 通过当前线程的类加载器对象,来加载指定包下的配置文件。
InputStream inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("res/conf.properties");
p.load(inStream);// 加载文件
// 从文件中获取数据
version = p.getProperty("app.version");
username = p.getProperty("db.username");
password = p.getProperty("db.password");
inStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}// readConf
public static void main(String[] args) {
//writeConfig("88", "fei", "36521");
readConfig();
System.out.println("version = " + version + ";username = " + username + ";password = " + password);
}
}
用的配置文件名为conf.properties
文件内容如下:
db.password=36521
app.version=88
db.username=fei
Properties工具类学习的更多相关文章
- Java Properties工具类详解
1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...
- java学习-加载.properties工具类
javaWeb项目,要加载xxx.properties或其它如.txt, .md后缀的文本文件 文本内容有两种格式 key:value或者key=value 诸如Spring框架,Jfinal框架,都 ...
- java.util.Properties工具类
import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import ...
- commons-lang3工具类学习(二)
三.BooleanUtils 布尔工具类 and(boolean... array) 逻辑与 BooleanUtils.and(true, true) = true Boolea ...
- Java 中待总结工具类学习(自定义注解,读取配置,字面List)
1.使用 MessageFormat 格式化文本 int planet = 7; String event = "a disturbance in the Force"; Stri ...
- commons-lang3工具类学习(三)
六.ObjectUtils Object工具类 allNotNull(Object... values) 检查所有元素是否为空,返回一个boolean 如果有一个元素为空返回false,所有元素不为空 ...
- commons-lang3工具类学习(一)
一.ArchUtils java运行环境的系统信息工具类 getArch();// 获取电脑处理器体系结构 32 bit.64 bit.unknown getType();// 返回处理器类型 ...
- DBUtils工具类学习一
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能 1.特征 DBUtils是java编程中 ...
- commons-lang3工具类学习--------ObjectUtils
Object工具类 allNotNull(Object... values) 检查所有元素是否为空,返回一个boolean 如果有一个元素为空返回false,所有元素不为空或元素为empty返回tru ...
随机推荐
- 如何将word内容粘贴到富文本编辑器里面
Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...
- 腾讯云服务器centos通过yum安装mysql数据库
安装mysql有两种: 1-可以使用yum安装, 2-可以自己下载安装包安装mysql, 腾讯云的centos系统自带了yum,所以用yum安装方便点 安装步骤 1-查看yum源中是否有mysql y ...
- Oracle11g数据库在Win系统下的安装
首先将从Oracle官网下载的两个安装包解压到同一个文件夹下,比如解压到database. 点击setup进行安装. (1)配置安全更新 选择是(不指定邮件) (2)安装选项,选择创建和配置数据库. ...
- Linux Weblogic部署web项目(war包)
第一步,启动并访问weblogic,进入登录页面 第二步,进入主页面,开始部署项目 第三步,上载项目war包 选择需要上载的本地war包 第四步,开始项目配置 继续下一步 选择红色标记的配置 第五步, ...
- 拒绝从入门到放弃_《Openstack 设计与实现》必读目录
目录 目录 关于这本书 必看知识点 最后 关于这本书 <Openstack 设计与实现>是一本非常值得推荐的书,为数不多的 Openstack 开发向中文书籍中的精品.如果希望从事 Ope ...
- UI自动化之cookies登录
现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录 目录 1.webdriver的添加cookies的方法 2.举个栗子 1.webdriver的添加cookies的方法 webdr ...
- 【ABAP系列】SAP ABAP与Java数据类型的对应关系
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP与Java数据类 ...
- Bootstrap 学习笔记11 按钮和折叠插件
复选框: <div class="btn-group" data-toggle="buttons"> <label for="se ...
- 【春训团队赛第四场】补题 | MST上倍增 | LCA | DAG上最长路 | 思维 | 素数筛 | 找规律 | 计几 | 背包 | 并查集
春训团队赛第四场 ID A B C D E F G H I J K L M AC O O O O O O O O O 补题 ? ? O O 传送门 题目链接(CF Gym102021) 题解链接(pd ...
- mooc-IDEA 应用快捷键自动创建测试类--010
十六.IntelliJ IDEA -应用快捷键自动创建测试类 Step1:在类或接口上,按ctrl+shift+t 选择Create New Test... 则在相应测试包下.创建该测试类. 测试类: