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

  • 相关阅读:
    解密Prompt系列12. LLM Agent零微调范式 ReAct & Self Ask
    MyBatis和MyBatis-plus教程
    【软考 系统架构设计师】案例分析⑨ 数据库优化
    Telegram 引入了国产小程序容器技术
    Chapter 2 Gradient Descent
    UE常见变量并且在【细节面板】中进行修改
    牛血清白蛋白修饰葡萄糖 BSA-glucose,木糖/半乳糖/乳糖偶联牛血清白蛋白
    3. List
    Acwing 836. 合并集合
    查看Mysql数据库版本
  • 原文地址:https://blog.csdn.net/qq_17613195/article/details/125508745