黑马程序员---Java基础之properties集合和编码解码

本文详细介绍了Java中Properties集合的使用方法及其应用场景,并深入探讨了编码与解码的概念、作用及用法。

------ android培训java培训、期待与您交流! ----------

一、properties集合

1. properties简述

Map下的实现类Hashtable(不允许有null值和null)下的一个子类.

2. properties有的作用

Map集合的特性,并可以与IO流结合操用,并有自已独有的特性,

可以直接将集合的值写入流中的文件list store

可以直接将文件里的值读出.load

3. properties的用法

//自己特有的方式添加和获取。键和值都是字符串

setPropertygetProperty

Properties prop = new Properties();

prop.setProperty("it002""abc1");

//获得键的集合

Set<String> set = prop.stringPropertyNames();

Iterator<String> it = set.iterator();

//迭代出元素.

while (it.hasNext()) {

String key = it.next();

String value = prop.getProperty(key);

System.out.println(key + "***" + value);

}

//Map的公有方式添加和获取:putget

prop.put("it002""abc1");

Set set = prop.keySet();

Iterator it = set.iterator();

while (it.hasNext()) {

String key = (String) it.next();

String value = (String) prop.get(key);

System.out.println(key + "***" + value);

}

}

//

// 获取到系统属性

Properties prop = System.getProperties();

// 遍历 让系统属性在控制台显示,太麻烦了。

// Set<String> set = prop.stringPropertyNames();

// Iterator<String> it = set.iterator();

// while (it.hasNext()) {

// String key = it.next();

// String value = prop.getProperty(key);

// System.out.println(key + "=" + value);

// }

//使用Properties的特有方法list。通过list方法,可以直接将Properties值显示在控制台

prop.list(System.out);

// 写入到文件中方法一: 麻烦

PrintWriter fw = new PrintWriter("prop.txt");

 prop.list(fw);

 fw.flush();

 fw.close();

 //写入到文件中方法二:简单

//prop.list(new PrintStream("prop.txt"));

将文件信息读入到

Properties prop = new Properties();

FileInputStream fis = new FileInputStream("load.txt");

prop.load(fis);

fis.close();

 

4. properties的应用场景

当虽要将运行数据存于文件中,每次程都可以读出中的数据

5. properties的特点

如果要用自已的特有方法只能存字符串健值对.

二、 编码与解码

1. 编码解码

是将字节存入和读取和方式

2. 编码解码的作用

也就是我们写入数据必须有对应的编码

而到时候我们读数据出来就要用当时存的解码方式

3. 编码解码的用法

(1)在IO流中,指定编码的需要使用转换流。

下面的三句话效果一致:

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("a.txt"),"GBK");

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("a.txt"));

FileWriter fw =  new FileWriter("a.txt");

字符流 字节流+编码表

用哪种编码写数据,就用哪种编码读取数据。

(2)字符串的编码问题

编码:字符串 -- 字节数组

解码:字节数组 -- 字符串

GBK和UTF-8编码解码出问题的情况。

4. 编码与解码的应用场景

当需要指定编码的需要使用转换流。

5. 编码解码的特点

如果写入编码与定出编码不一样,就会乱码


------ android培训java培训、期待与您交流! ----------

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值