文件处理----Properties文件处理
properties是一种属性文件,这种文件以key=value格式存储内容,代码中可以使用Properties类来读取这个文件,然后得到数据。
当配置文件用,由于难以表达层次,复杂点可以使用xml做配置。
通俗点讲就相当于定义一个变量,在这个文件里面定义这些变量的值,在程序里面可以调用这些变量,好处就是,如果程序中的参数值需要变动,直接来改这个.properties文件就可以了,不用去修改源代码。
Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。
Properties类表示一组持久的属性。Properties可以保存到流中或从流中加载。属性列表中的每个键及其对应的值都是一个字符串。
Properties主要方法:
(1)loadload(InputStream in);--从输入字节流读取属性列表(键和元素对)
load(Reader reader);--从简单的线性格式从输入字符流读取属性列表(关键字和元素对)
(2)store
store(OutputStream out,String comments);--将此属性列表(键和元素对)写入此Properties表中,以适合于使用load(InputStream)方法加载到Properties表中的格式输出流。
comments不为空,保存后的属性文件第一行会是#comments,表示注释信息;如果为空则没用注释信息。注释信息后面是属性文件的当前保存时间信息。
store(writer write,String comments);
(3)getProperty(String key)和setProperty(String key,String value)
第一个是 使用此属性列表中指定的键搜索属性。
第二个是 致电Hashtable方法put,也就是设置键值(一个新的键值对)。
(4)clear();
清除所有装载的键值对,该方法在基类中提供。
package a.one; import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Properties; public class PropertiesTest2 {
public static void main(String[] args) throws Exception {
//一个空的属性列表
Properties p=new Properties();
System.out.println(p);
FileInputStream in=new FileInputStream("config/c.properties");
p.load(in);//加载属性列表
System.out.println(p);
System.out.println(p.getProperty("name"));//得到某属性值
System.out.println("===========================");
FileOutputStream out=new FileOutputStream("config/d.properties");
p.setProperty("key", "value");
p.store(out, "Annotation");//注释
}
}
结果:
{age=30, name=taeyeon, song=four seasons}
taeyeon
===========================
d.properties:
#Annotation
#Wed Apr 17 13:03:52 GMT+08:00 2019
age=30
name=taeyeon
key=value
song=four seasons
c.properties:
name=taeyeon
age=30
song=four seasons
总结:Java的properties文件需要放到classpath下面,这样程序才能读取到,有关classpath实际上就是Java类或者库的存放路径,在Java工程中,properties放到class文件这一块。在web应用中,最简单的方法就是放到web应用的WEB-INF\classes目录下即可,也可以放到其他文件夹下面,这时候需要在设置classpath环境变量的时候,将这个文件的路径加到classpath变量中,这样也可以读取到。
文件处理----Properties文件处理的更多相关文章
- JBoss 系列十四:JBoss7/WildFly如何加载外部的文件或properties文件
http://www.tuicool.com/articles/M7ZR3y 原文 http://blog.csdn.net/kylinsoong/article/details/12623997 主 ...
- Maven运行时找不到xml文件和properties文件的问题解决
使用Maven构建的项目,包下面的xml文件和properties属性文件默认在运行tomcat插件是不会生成文件到target里面的,需要自己配置 一.第一种解决方法也是最常用的解决方法 在pom. ...
- 从XML文件和properties文件提取数据
XML文档格式内容如下 <?xml version="1.0" encoding="UTF-8"?> <root> <fi ...
- Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件
//生成一个文件对象: File file = new File(getClass().getClassLoader().getResource("test.xml").getPa ...
- Hibernate的dtd文件和properties文件
hibernate-configuration-3.0.dtd <!-- Hibernate file-based configuration document. <!DOCTYPE hi ...
- mybatis mybatis.xml 文件和properties文件结合来进行配置数据源
- java代码和spring框架读取xml和properties文件
1.java文件读取properties文件 Properties props = new Properties(); try { //资源文件存放在类文件的根目录下.即是放在src下面.则不需要写路 ...
- Properties文件工具类的使用--获取所有的键值、删除键、更新键等操作
有时候我们希望处理properties文件,properties文件是键值对的文件形式,我们可以借助Properties类操作. 工具类如下:(代码中日志采用了slf4j日志) package cn. ...
- spring boot mybatis XML文件读取properties配置信息
配置文件application.properties中相关配置信息可以在部署以后修改,引用配置信息可以在代码和mybatis的映射文件中 1.JAVA代码 可以通过变量去读取 application. ...
随机推荐
- 每日英语:Dashing the China Dream
Much has been said about what the 'China Dream' really means to many Chinese -- whether it is nation ...
- MySQL中文参考手册
1 MySQL 的一般信息 这是MySQL参考手册:它记载了MySQL版本3.23.7-alpha. MySQL 是一个快速.多线程.多用户和强壮的SQL数据库服务器. 对Unix和 OS/2 平台, ...
- 【iCore4 双核心板_FPGA】例程十二:基于UART的ARM与FPGA通信实验
实验现象: 1.先烧写ARM程序,然后烧写FPGA程序. 2.打开串口精灵,会接收到字符GINGKO. 3.通过串口精灵发送命令可以控制ARM·LED和FPGA·LED. 核心代码: int main ...
- 【emWin】例程十九:窗口对象——Checkbox
简介: 复选框是选择各种不同选项的最常用小工具之一.用户可选中或取消选中复选框,并且可一次选中任意个框 触摸校准(上电可选择是否进入校准界面) CHECKBOX三状态模式 CHECKBOX设置字体颜色 ...
- windows server r2 安装vs2017 更新补丁Windows8.1-KB2919355-x6
方法一: 点击vs2017安装包后提示需要更新Windows8.1-KB2919355-x64补丁 点击链接进入全部下载后查看官方安装顺序为 注意 必须按照以下顺序安装更新:clearcompress ...
- BigDecimal提供了8种舍入方式
BigDecimal提供了8种舍入方式 1.ROUND_UP:舍入远离零的舍入模式.在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1).注意,此舍入模式始终不会减少计算值的大小. 2. ...
- 牛客网_Go语言相关练习_选择题(1)
声明:题目源自牛客网. 一.单项选择题 解析:作为形参时,可以要求单向,只读或只写. 解析:Go语言的内存回收机制规定,只要有一个指针指向引用一个变量,那么这个变量就不会被释放(内存逃逸),因此在Go ...
- Go指南练习_rot13Reader
https://tour.go-zh.org/methods/23 一.题目描述 有种常见的模式是一个 io.Reader 包装另一个 io.Reader,然后通过某种方式修改其数据流. 例如,gzi ...
- 关于SpringBoot如何返回视图
别人已经写过了,我就不重复造轮子了.我赞成他的方案:Spring Boot使用方法小札(1):Web应用返回jsp页面 如果配置完之后,访问相应的Controller 还是得不到对应的页面,考虑用以下 ...
- asp.net mvc 3.0 知识点整理 ----- (3).HtmlHelper(Html 辅助方法)介绍
在View视图中,Html的类型是System.Web.Mvc.HtmlHelper<T>, 所有的辅助方法都需要和ModelState交互.那么,ModelState是什么呢?它是模型绑 ...