Java基础教程——字符流
2020-12-13 06:26
标签:cond ext 表示 write save 数组 static txt extends 字节流服务文本文件时,可能出现中文乱码。因为一个中文字符可能占用多个字节。 java.io.Reader 文件字符流 |-读文件:FileReader |-写文件: FileWriter 前面字节流的例子,可以改为字符流测试运行。参考代码: 表示属性集。每个键及其对应值都是一个字符串。 该类应用广泛,比如获取系统属性: 使用方法: Java基础教程——字符流 标签:cond ext 表示 write save 数组 static txt extends 原文地址:https://www.cnblogs.com/tigerlion/p/11179224.html字符流
针对于非英语系的国家和地区,提供了一套方便读写方式——字符流。
java.io.Writerjava.io.FileReader fr = new FileReader("待读取的文件");// 构造时使用默认的字符编码
int 读取单个字符 = fr.read();
char[] cbuf = new char[1024];
int 读取到字符数组中 = fr.read(cbuf);
fr.close();
java.io.FileWriter fw = new FileWriter("要写的文件");
fw.write(71);// 写单个字符
char[] cbuf = {};
fw.write(cbuf);// 写字符数组
fw.write("写字符串");
fw.close();// 字符流和字节流不同,有内置缓冲区。如果不关闭,数据只是保存到缓冲区,未写入文件。
fw.flush();// 可以使用flush可以把缓冲区中的数据强制刷入文件(最后还是应该close)
import java.io.*;
public class 字符流 {
public static void main(String[] args) throws IOException {
read();
write();
}
static final int C_CONDITION = 1;
public static void read() {
try {
File file = new File("testRead.dat"); // 创建文件对象
// 【1】创建输入流对象,相当于打开文件
FileReader fr = new FileReader(file);
if (C_CONDITION == 1) {
// 【2】.read():读取单个
for (int i = 0; i
Properties类
package java.util;
public class Properties extends Hashtable
Properties props = System.getProperties();
import java.io.*;
import java.util.Properties;
import java.util.Set;
public class TestProperties {
public static void main(String[] args) throws IOException {
// Properties类extends Hashtable,其实就是个map
Properties prop = new Properties();
// setProperty:调用的put方法,但参数只允许字符串
prop.setProperty("金箍棒", "一万三千五百斤");
prop.setProperty("九齿钉耙", "五千零四十八斤");
prop.setProperty("降妖宝杖", "五千零四十八斤");
// stringPropertyNames:调用了keySet()方法
Set