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


    字符编码

    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();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    C++primeplusp(p356-386)
    优维低代码:Redirect 路由重定向&If 条件渲染
    (WRF/Chem)在大气环境领域实践技术应用
    COS 音视频实践
    R语言——赋值(= ,<- ,<<-)
    MySql学习之慢SQL优化和慢SQL案例
    前端面试之前端工程化篇
    经典面试题 之 Elasticsearch
    Springboot整合MyBatisPlus swagger测试
    【已拿offer】最新AI产品经理大厂面经(含百度&腾讯&科大讯飞&商汤&蚂蚁金服)
  • 原文地址:https://blog.csdn.net/qq_51553982/article/details/125413208