• 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框架(推荐使用)

  • 相关阅读:
    Java面向对象进阶3——多态的概述及特点
    Linux “ll“ 命令详解
    freeRTOS学习(三)
    MyBatis的各种查询功能
    Flutter 实现 Android CollapsingToolbarLayout折叠布局效果
    lv5 嵌入式开发-2 exec函数族
    MySQL in和exists 查询分析
    计算机毕业设计之java+springboot基于vue的会员制医疗预约服务管理信息系统
    企业安全生产隐患排查治理系统
    通讯/服务器公司 测试|测试开发 面试真题|面经 汇总
  • 原文地址:https://blog.csdn.net/qq_17613195/article/details/125508745