当前位置: 首页> 健康> 美食 > 公司网站包含哪些内容_研发项目管理软件_今天的国际新闻_东莞百度快速优化排名

公司网站包含哪些内容_研发项目管理软件_今天的国际新闻_东莞百度快速优化排名

时间:2025/7/9 21:07:23来源:https://blog.csdn.net/weixin_60437068/article/details/142330670 浏览次数:0次
公司网站包含哪些内容_研发项目管理软件_今天的国际新闻_东莞百度快速优化排名
  • 目录

    1. IO流的体系结构

    2.字节缓冲流

    3.字符缓冲流

    4.转换流

    5.序列化

    6.打印流

    7.压缩流与解压流

    8.工具包


  • 1. IO流的体系结构

    • IO流的使用原则:随用随创建,什么时候不用什么时候关闭
    • 1.1 io流的体系结构图

    • 1.2缓冲流的分类
      缓冲流,也叫高效流,是对4个基本的FileXxx流的增强
      • 字节缓冲流:BufferedInputStream,BufferedOutputStream
      • 字符缓冲流:BufferedReader,BufferedWriter
      • 缓冲流的基本原理:在创建流对象时,会创建一个内置的默认长度为8192字节/字符的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率
  • 2.字节缓冲流

    • 2.1构造方法
      • public BufferedInputStream(InputStream in)
        创建一个 新的缓冲输入流。
      • public BufferedOutputStream(OutputStream out)
        创建一个新的缓冲输出流。
    • 2.2注意:只需要关闭缓冲流即可,基本流的关闭已经被包装好了
  • 3.字符缓冲流

    • 3.1构造方法
      • public BufferedReader(Reader in)
        创建一个 新的缓冲输入流
      • public BufferedWriter(Writer out)
        创建一个新的缓冲输出流
    • 3.2特有方法
      • BufferedReader:public String readLine()
        读一行文字,如果没有数据返回Null
      • BufferedWriter:public void newLine()
        写一行行分隔符,由系统属性定义符号。 (跨平台的换行)
  • 4.转换流

    • 4.1字符编码和字符集
    • 4.2转换流的作用
      • 指定字符集读取数据(JDK11之后被淘汰)
        代替的构造方法:
        FileReader(String fileName,Charset BM)
        FileWriter(String fileName,Charset BM)
        注意:Charset是一个类,可以调用此类中的Charset.forName(String BM)
      • 字节流想要使用字符流中的方法
    • 4.3InputStreamReader类
      • 介绍:
        • 转换流java.io.InputStreamReader,是Reader的子类,是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。
      • 构造方法:
        • InputStreamReader(InputStream in)
          创建一个使用默认字符集的字符流
        • InputStreamReader(InputStream in, String charsetName)
          创建一个指定字符集的字符流
    • 4.4OutputStreamWriter类
      • 介绍:
        • 转换流java.io.OutputStreamWriter ,是Writer的子类,是从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。
      • 构造方法:
        • OutputStreamWriter(OutputStream in)
          创建一个使用默认字符集的字符流
        • OutputStreamWriter(OutputStream in, String charsetName)
          创建一个指定字符集的字符流
    • 4.5转换流理解图解
      • 转换流是字节与字符间的桥梁

  • 5.序列化

    • 5.1概述
      • Java 提供了一种对象**序列化**的机制。用一个字节序列可以表示一个对象,该字节序列包含该`对象的数据`、`对象的类型`和`对象中存储的属性`等信息。字节序列写出到文件之后,相当于文件中**持久保存**了一个对象的信息。
      • 反之,该字节序列还可以从文件中读取回来,重构对象,对它进行**反序列化**。`对象的数据`、`对象的类型`和`对象中存储的数据`信息,都可以用来在内存中创建对象。
      • 图解

    • 5.2ObjectOutputStream类
      java.io.ObjectOutputStream 类,将Java对象的原始数据类型写出到文件,实现对象的持久存储。
      • 构造方法:public ObjectOutputStream(OutputStream out)
        创建一个指定OutputStream的ObjectOutputStream
      • 写出对象方法:public final void writeObject (Object obj)
        将指定的对象写出
      • 序列化操作条件
        • 该类必须实现java.io.Serializable 接口,Serializable 是一个标记接口,不实现此接口的类将不会使任何状态序列化或反序列化,会抛出NotSerializableException 。
        • 该类的所有属性必须是可序列化的。如果有一个属性不需要可序列化的,则该属性必须注明是瞬态的,使用transient 关键字修饰。
    • 5.3ObjectInputStream类
      ObjectInputStream反序列化流,将之前使用ObjectOutputStream序列化的原始数据恢复为对象。
      • 构造方法:public ObjectInputStream(InputStream in)
        创建一个指定InputStream的ObjectInputStream
      • 读取对象方法:public final Object readObject ()
        读取一个对象
      • 注意:对于JVM可以反序列化对象,它必须是能够找到class文件的类。如果找不到该类的class文件,则抛出一个 ClassNotFoundException 异常
      • 注意:Serializable 接口给需要序列化的类,提供了一个序列版本号。serialVersionUID 该版本号的目的在于验证序列化的对象和对应类是否版本匹配。
        private static final long serialVersionUID = 1L;
    • 5.4细节汇总
      • 1. 需要让JavaBean类实现Serialzable接口
      • 2. 文件中的序列化数据修改后无法再次读取
      • 3. 修改JavaBean后,再次反序列化会抛出InvalidClassException异常,解决方案:添加序列号
      • 4. 给成员变量添加transient关键字修饰,该关键字标记的成员变量不参与序列化过程。
      • 5. 当不确定有多少对象需要序列化,使用集合,将集合序列化。
  • 6.打印流

    • 平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于java.io.PrintStream类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。
    • 6.1分类

      • 字节打印流:PrintStream
      • 字符打印流:PrintWriter
    • 6.2特点
      • 打印流只操作文件目的地,不操作数据源
      • 特有的写出方法可以实现数据原样写出
      • 特有的写出方法,可以实现自动刷新,自动换行
    • 6.3字节打印流
      • 构造方法

      • 成员方法

    • 6.4字符打印流
      • 构造方法

      • 成员方法

    • 6.5改变打印流的流向
      • 打印流的流向

  • 7.压缩流与解压流

    • 压缩流与解压流代码
  • 8.工具包

    • Commons与hutool
关键字:公司网站包含哪些内容_研发项目管理软件_今天的国际新闻_东莞百度快速优化排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: