• 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
  • 相关阅读:
    八大排序(一)冒泡排序,选择排序,插入排序,希尔排序
    32FLASH闪存
    【PyTorch深度学习项目实战100例】—— 基于Transformer实现人格个性指示 | 第67例
    蓝桥杯物联网_STM32L071_2_继电器控制
    为网站配置SSL
    MySQL学习笔记-7. 搭建“三高”架构的基础
    java-php-python-ssm-数字化网上报修平台-计算机毕业设计
    进销存商城前几名的运营方法|三招提高微信商城用户黏性
    [干货满满] 三年经验前端的面试经验分享
    Linux常用命令——cksum命令
  • 原文地址:https://blog.csdn.net/qq_51553982/article/details/125413208