Properties类对于文件的读取和写入
Properties类表示一个持久的属性集。Properties可保存在流中或从流中加载。Properties对象只能加载以 .Properties 为后缀的文件(文件我创建在src下)。

开始时文件中没有内容,我运行的顺序是先写入在进行读取

一、Properties读取文件内容
我们要做的第一步就是要将文件读取Properties类对象中,由于load 有一个参数是InputStream,所以我们可以用InputStream的子类FileInputStream降属性文件读取到Properties对象中,知道db.properties的路径,我们就用FileInputStream(String name)构造函数。
public static void input(){
//创建Properties对象
Properties properties = new Properties();
//获取输入流对象
try {
//方法一:必须给予一个文件的绝对路径
FileInputStream inputStream = new FileInputStream(new File("D:\\BaiduNetdiskDownload\\eclipse-jee-kepler-R-win64(1)\\workspace2\\properties\\src\\db.properties"));
//Properties加载数据流对象
properties.load(inputStream);
//获取数据
System.out.println("userName: "+properties.get("userName"));
System.out.println("password: "+properties.get("passwrod"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// try {
// //方法二:使用类加载器可以直接获取类(src)路径下的文件,不必是文件的绝对路径
// InputStream inputStream = test.class.getClassLoader().getResourceAsStream("db.properties");
// properties.load(inputStream);
// //获取数据
// System.out.println("userName: "+properties.get("userName"))
// System.out.println("password: "+properties.get("passwrod"));
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
二、properties写入文件内容
最开始写的时候,我只是用properties类进行文件的读取,并没有进行过文件内容的写入,开始时遇到了一个问题(开始时
properties.setProperty("userName", "aaa")这个赋值的操作我是写在流之后的),导致想写入的内容写不进去。最后发现需要将它写在流前面(别问为什么,用法是这样的,哈哈)。
public static void output(){
try {
Properties properties = new Properties();
//如果we年中存在了相同的key,这个操作代表是给这个key赋新的值,如果不存在,代表是写入新的键值对 properties.setProperty("userName", "aaa");
properties.setProperty("passwrod", "123456");
FileOutputStream outputStream = new FileOutputStream(new File("D:\\BaiduNetdiskDownload\\eclipse-jee-kepler-R-win64(1)\\workspace2\\properties\\src\\db.properties"));
properties.store(outputStream, null);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
三、 运行结果:


Properties类对于文件的读取和写入的更多相关文章
- Java I/O---RandomAccessFile类(随机访问文件的读取和写入)
1.JDK API中RandomAccessFile类的描述 此类的实例支持对随机访问文件的读取和写入.随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组.存在指向该隐含数组的光标或索引 ...
- C#的XML文件的读取与写入
在设计程序的时候,对于一些变化性较强的数据,可以保存在XML文件中,以方便用户修改.尤其是对于一些软硬件的配置文件,很多都选择了用XML文件来存取.XML文件简单易用,而且可以在任何应用程序中读写数据 ...
- c# txt文件的读取和写入
我们在工程实践中经常要处理传感器采集的数据,有时候要把这些数据记录下来,有时候也需要把记录下来的数据读取到项目中.接下来我们用C#演示如何对txt文件进行读写操作.我们要用到StreamReader ...
- c++学习笔记—c++对txt文件的读取与写入
一.文件的输入输出 头文件fstream定义了三个类型支持文件IO:ifstream从给定文件读取数据.ofstream向一个给定文件写入数据.fstream读写给定数据.这些类型与cin和cout的 ...
- 《程序实现》从xml、txt文件里读取数据写入excel表格
直接上码 import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java ...
- PHP文件操作 读取与写入
基本知识: PHP文件系统是基于Unix系统的 文件数据基本类型:二进制数据.文本数据 文件输入流:数据从源文件到内存的流动 文件输出流:数据从内存保存到文件的流动 文件操作函数: >>& ...
- java中文件的读取和写入
//首先要顶一个file文件用来存放要读取的文件 File f=new File("c:/test/aa.txt"); //在实例化一个输入流,并把文件对象传到里面 FileInp ...
- Python对于CSV文件的读取与写入
今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python情有独钟,顿时心血来潮,决定小搞他一下,分享给那些需要的小白 ...
- C# txt文件的读取与写入
C#创建记事本方法一://创建对象 FileStream stream = new FileStream(@"d:\aa.txt",FileMode.Create);//fileM ...
随机推荐
- Mysql-自带的一些功能,基本用法(视图,触发器,事务,存储过程,函数,流程控制)
一. 视图 二. 触发器 三. 事务 四. 存储过程 五. 函数 六. 流程控制 一 .视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用 ...
- 适合Python 新手的5大练手项目,你练了么?
接下来就给大家介绍几种适合新手的练手项目. 0.算法系列-排序与查找 Python写swap很方便,就一句话(a, b = b, a),于是写基于比较的排序能短小精悍.刚上手一门新语言练算法最合适不过 ...
- QT中的相对位置,绝对位置之间的转换(maptoglobal,mapfromglobal)
1. 相对位置:每个Qwidget都能通过pos()获取到相对自己父类窗口的位置, 2. 绝对位置:pWidget->mapToGlobal(QPoint(0,0)) ;将当前控件的相对位置转换 ...
- PAT1126:Eulerian Path
1126. Eulerian Path (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue In grap ...
- xcode6.1 设置中文输入
XCode6.1中设置中文输入方法:Product->scheme->Edit Scheme->Options->Application Region->中国 ios 模 ...
- ZooKeeper的使用---命令端
一.进入命令行 ./bin/zkCli.sh 二.常用命令 命令 作用 范例 备注 connect host:port 连接其他zookeeper客户端 connect hadoop2:21 ...
- linux安装vsftpd服务器
最近看到python的网络编程,看到用python写ftp客户端的小项目,打算着手连连.为了模仿真实环境,我并没有在本机上开个ftp服务器,选择了在虚拟机中的linux中做ftp服务器,我选择了vsf ...
- nginx php 配置跨域
我使用的是lnmp一键安装包 在虚拟记住添加 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allo ...
- CSS透明opacity和IE各版本透明度滤镜filter的准确用法
滤镜名 说明 Alpha 让HTML元件呈现出透明的渐进效果Blur 让HTML元件产生风吹模糊的效果Chroma 让图像中的某一颜色变成透明色DropShadow ...
- BinaryOperator<T>接口的用法示例+BiFunction
转自http://www.tpyyes.com/a/java/2017/1015/285.html 转自https://blog.csdn.net/u014331288/article/details ...