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

  • 相关阅读:
    PCL源码分析:直通滤波
    CCRC-DSO学员分享:数据安全官——导师与朋友的双重身份
    脚本文件中指定主题、保存路径执行rosbag record脚本文件编写方法
    加法器与减法器verilog
    NetworkManger 报错 “NIC: Link is Down“
    《深入分布式缓存 从原理到实践》笔记
    什么是信息摘要?
    DirectX3D 正交投影学习记录
    Bootstrap-jqgrid学习(十六)
    剑指 Offer 33. 二叉搜索树的后序遍历序列
  • 原文地址:https://blog.csdn.net/qq_17613195/article/details/125508745