• 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
  • 相关阅读:
    【pen200-lab】10.11.1.21(实际获得22权限)
    AUTOSAR实战篇:手把手带你搞定Watchdog协议栈
    专业128分总分390+上岸中山大学884信号与系统电通院考研经验分享
    微服务架构学习与思考
    VIT(Vision Transformer)学习(二)- 基础代码学习
    《CUDA编程:基础与实践》读书笔记(1):CUDA编程基础
    React Native for Arcgis 地图开发 聚合图Cluster (十一)
    音乐制作软件 Ableton Live 11 Suite mac中文版功能介绍
    jQuery实现简单分页
    Selenium 自动化 | 案例实战篇
  • 原文地址:https://blog.csdn.net/qq_51553982/article/details/125413208