JavaIO系列——常见字符编码,字符流抽象类,FileReader,FileWriter

181 篇文章 3 订阅
21 篇文章 1 订阅

字符编码

  1. ISO-8859-1:收录除ASCII外,还包括西欧、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。
  2. UTF-8:针对Unicode码表的可变长度字符编码
  3. GB2312:简体中文
  4. GBK:简体中文、扩充
  5. BIG5:繁体中文

linux系统:utf-8
windows:gbk
mac:utf-8

注意

当解码和编码方式不同会出现乱码!
我们更推荐普及使用utf-8编码

字符流抽象类

  1. Reader:字符输入流
  2. Writer:字符输出流

Reader

用于读取字符流的抽象类。 唯一的方法 子类必须实现的是 read(char[], int, int) 和 close()。 最多 但是,子类将按顺序覆盖此处定义的一些方法 提供更高的效率、附加功能或两者兼而有之。

构造方法

在这里插入图片描述

方法

在这里插入图片描述

Writer

用于写入字符流的抽象类。 唯一的方法 子类必须实现的是 write(char[], int, int)、flush() 和 close()。 然而,大多数子类将覆盖此处定义的一些方法 以提供更高的效率、附加功能或两者兼而有之。

构造方法

在这里插入图片描述

方法

在这里插入图片描述

FileReader

使用默认缓冲区大小从字符文件中读取文本。 从字节解码 to characters 使用指定的 字符集 或平台的 默认字符集 。

这 FileReader用于读取字符流。 用于阅读 原始字节流,考虑使用 FileInputStream.

构造

在这里插入图片描述

方法

在这里插入图片描述

示例

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class demo9 {
    public static void main(String[] args) throws IOException {
        String path = "C:\\Users\\Syf200208161018\\Desktop\\新建文本文档.txt";
        FileReader fileReader = new FileReader(path);

        int count = 0;
        char[] strings = new char[1024];

        while ((count = fileReader.read(strings))!=-1){
            System.out.println(new String(strings,0,count));
        }
        fileReader.close();
    }
}

FileWriter

使用默认缓冲区大小将文本写入字符文件。 从字符编码 to bytes 使用指定的 字符集 或平台的 默认字符集 。

文件是否可用或是否可以创建取决于 底层平台。 特别是某些平台,允许文件 只有一个人开放写作 FileWriter(或其他文件写入 对象)一次。 在这种情况下,此类中的构造函数 如果涉及的文件已经打开,则会失败。

这 FileWriter用于编写字符流。 写作用 原始字节流,考虑使用 FileOutputStream.

构造

在这里插入图片描述

方法

在这里插入图片描述

示例

import java.io.FileWriter;
import java.io.IOException;

public class demo10 {
    public static void main(String[] args) throws IOException {
        String path = "C:\\Users\\Syf200208161018\\Desktop\\neww.txt";
        FileWriter fileWriter = new FileWriter(path);

        fileWriter.write("安徽师大海底隧道");
        fileWriter.flush();
        fileWriter.close();
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值