Java第三十一天,用Properties集合操作IO
一、Properties
这个类是线程安全的:多个线程可以共享一个Properties对象,而不需要外部同步
1.常用方法
Object setProperty(String key, String value) ===> 存储数据
String getProperty(String key) ===> 读取数据
void load(InputStream inStream) ===> 从输入字节流读取属性列表(键和元素对)
void load(Reader reader) ===> 以简单的线性格式从输入字符流读取属性列表(关键字和元素对)
void store(OutputStream out, String comments) ===> 将此属性列表(键和元素对)写入此 Properties表中,comments不能是中文
void store(Writer writer, String comments) ===> 将此属性列表(键和元素对)写入此 Properties表中
Set<String> stringPropertyNames() ===> 返回所有键的集合
2.具体使用
import java.io.*;
import java.util.Properties;
import java.util.Set;
public class FileList {
public static void main(String[] args) throws IOException {
Properties list = new Properties();
list.setProperty("端游","英雄联盟");
list.setProperty("手游","王者荣耀");
Set<String> keys = list.stringPropertyNames();
for (String key : keys) {
System.out.println(key + " ===> " + list.getProperty(key));
}
FileOutputStream file = new FileOutputStream("F:\\data.txt");
list.store(file,"lanYue");
file.close();
FileWriter writer = new FileWriter("F:\\info.txt");
list.store(writer,"HuHai");
writer.close();
Properties listTemp = new Properties();
FileReader reader = new FileReader("F:\\info.txt");
listTemp.load(reader);
Set<String> keysTemp = listTemp.stringPropertyNames();
for (String key : keysTemp) {
System.out.println(key + "=" + listTemp.getProperty(key));
}
reader.close();
Properties listTempTwo = new Properties();
FileInputStream fileInput = new FileInputStream("F:\\info.txt");
listTempTwo.load(fileInput);
Set<String> keysFileInput = listTempTwo.stringPropertyNames();
for (String key : keysFileInput) {
System.out.println(key + " == " + new String(listTempTwo.getProperty(key)));
}
fileInput.close();
//Properties一般配合字符流来使用,因为字节流读取中文时会出现问题
}
}
Java第三十一天,用Properties集合操作IO的更多相关文章
- 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类
---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...
- Java进阶(三十一) Web服务调用
Java进阶(三十一) Web服务调用 前言 有朋友问了一个问题:如何调用已知的音乐服务接口,服务文档如下: https://www.evernote.com/shard/s744/sh/c37cd5 ...
- “全栈2019”Java第三十一章:二维数组和多维数组详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- java的缓冲流及使用Properties集合存取数据(遍历,store,load)
缓冲流 概述 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter 缓冲流原理 缓冲区是 ...
- Properties集合与IO流
package com.itheima.demo07.Prop; import java.io.FileOutputStream; import java.io.FileReader; import ...
- Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、
1:Scala和Java的对比: 1.1:Scala中的函数是Java中完全没有的概念.因为Java是完全面向对象的编程语言,没有任何面向过程编程语言的特性,因此Java中的一等公民是类和对象,而且只 ...
- Python学习笔记(三):文件和集合操作
python string与list互转 因为python的read和write方法的操作对象都是string.而操作二进制的时候会把string转换成list进行解析,解析后重新写入文件的时候,还得 ...
- Java——(三)Collection之Set集合、HashSet类
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.Set集合 Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中, ...
- Java第三十天,I/O操作
一.基本概念 输入输出一般是相对与内存.CPU寄存器.当前进程来说的 输入:从硬盘.键盘等外部设备读取数据到内存.当前进程或CPU寄存器中 输出:利用当前进程将数据写入到硬盘.终端显示屏等外部设备中 ...
随机推荐
- 《自拍教程45》Python_adb实时监控Logcat日志
接上一篇:adb命令_一键截取logcat日志, 有一天, 系统稳定性开发负责人找到我,希望我能在跑android 系统monkey的时候, 实时监控logcat的输出,如果一旦发现"jav ...
- Java POI 实现Excel相同数据同一颜色,不同数据颜色交替显示
目录 1.效果图 2.具体代码实现 excel 读取工具类 excel写入和测试类 1.效果图 2.具体代码实现 excel 读取工具类 package utils; import java.io.F ...
- 异步编程RxJava-介绍
前言前段时间写了一篇对协程的一些理解,里面提到了不管是协程还是callback,本质上其实提供的是一种异步无阻塞的编程模式:并且介绍了java中对异步无阻赛这种编程模式的支持,主要提到了Future和 ...
- Centos7安装Elasticsearch和Kibana
这里使用的6.6.0版本,ES需要JDK环境,对应1.8 Elasticsearch安装: 1.下载:https://elasticsearch.cn/download/ 2.解压: 3.修改配置:j ...
- JavaScript隐式类型转换(详解 +,-,*,/,==)
JavaScript 在 运算 或 比较 之前, 会自动进行隐式类型转换. 下面我们来仔细讲一讲 + - * / == 运算符经历了哪些过程. 类型转换 ECMAScript 运行时系统会在需要时从事 ...
- SpringBoot AOP处理请求日志处理打印
SpringBoot AOP处理请求日志处理打印 @Slf4j @Aspect @Configuration public class RequestAopConfig { @Autowired pr ...
- Natas34 Writeup(闯关结束!)
Natas34: 登录什么都不用做,闯关结束!撒花~~~
- 关于python如何安装和配置chromedriver以及一些相关问题
解决问题三部曲:观察,思考,尝试 1.如何配置chromedriver: https://www.cnblogs.com/lintest/p/11697059.html 常见异常解决的一个参考吧:ht ...
- NeurIPS 2019 Spotlight | Cascade RPN,结构的艺术带来极致的提升
论文提出Cascade RPN算法来提升RPN模块的性能,该算法重点解决了RPN在迭代时anchor和feature不对齐的问题,论文创新点足,效果也很惊艳,相对于原始的RPN提升13.4%AR 论文 ...
- 一文综述python读写csv xml json文件各种骚操作
Python优越的灵活性和易用性使其成为最受欢迎的编程语言之一,尤其是对数据科学家而言.这在很大程度上是因为使用Python处理大型数据集是很简单的一件事情. 如今,每家科技公司都在制定数据战略. ...