• Java入门基础


    P158 (白学)IO流

     

    文件字节输入、输出流 FileInputStream、FileOutputStream

    文件字符输入、输出流 FileReader、FileWriter

    缓冲流自带8kb缓冲区,提高原始字节流、字符流读写数据的性能

    字节缓冲输入、输出流 BufferedInputStream、BufferedOutputStream

    字符缓冲输入、输出流 BufferedReader、BufferedWriter

    转换流 InputStreamReader、OutputStreamWrite

    对象字节输入、输出流 ObjectInputStream、ObjectOutputStream

    P165 (白学)代码与文件编码不一致导致乱码问题,转换流解决

    InputStreamReader、OutputStreamWriter

    1. FileInputStream fis = new FileInputStream("test.txt");
    2. InputStreamReader isr = new InputStreamReader(fis, "GBK");
    3. BufferedReader br = new BufferedReader(isr);
    4. String line;
    5. while ((line = br.readLine()) != null) {
    6. System.out.println(line);
    7. }
    8. FileOutputStream fos = new FileOutputStream("test.txt");
    9. OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK");
    10. BufferedWriter bw = new BufferedWriter(osw);
    11. bw.write("这是中文");
    12. bw.close();

    P166 对象序列化、反序列化

    ObjectOutputStream、ObjectInputStream

    被序列化的对象,属性增加修饰符transient,可以忽略使此属性在序列化后为null(常用于敏感信息)

    被序列化的对象,必须实现接口Serializable

    1. // 序列化
    2. Book book = new Book("name");
    3. ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("test.txt"));
    4. objectOutputStream.writeObject(book);
    5. objectOutputStream.close();
    6. // 反序列化
    7. ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("test.txt"));
    8. Object o = objectInputStream.readObject();
    9. objectInputStream.close();
    10. System.out.println(o);

    P167 打印流、Properties、commons-io框架

    打印流:PrintStream(字节)、PrintWriter(字符)

    1. PrintStream printStream = new PrintStream("test.txt");
    2. printStream.println("test");
    3. printStream.flush();

    改变输出语句的位置到文件

    1. PrintStream ps = new PrintStream("log.txt");
    2. System.setOut(ps);
    3. System.out.println("test"); // 现在不会输出到console,会出现在log.txt文件中

    Properties类

    1. Properties properties = new Properties();
    2. properties.setProperty("key1", "value1");
    3. properties.store(new FileWriter("user.properties"), "备注信息");

    commons-io框架(推荐使用)

  • 相关阅读:
    方法2—并行数据流转换为一种特殊串行数据流模块的设计,
    微软同“亲女儿”小冰单飞后的再联手,AI 数字员工可行吗?
    十七 周记2 (10.24-10.30)
    HTTP协议【网络基础/应用层】
    力扣215. 数组中的第K个最大元素
    UniApp创建项目HelloWorld
    【Netty】1-2. TCP通信与Netty基本介绍
    chrome账户密码管理
    .NET 工控网关 轻量级组态软件
    C#/VB.NET 读取条码类型及条码在图片中的坐标位置
  • 原文地址:https://blog.csdn.net/qq_17613195/article/details/125508745