• Java IO流 要点


    🍎个人主页:亮点的博客
    🍊个人信条:理想如果不向现实做一点点屈服,那么理想也将归于尘土
    🍑刷题专栏:【Java】牛客网刷题
    🥭刷题网站:牛客网 学习的一种有效途径就是刷题,丰富的做题经验可以加深对知识点的理解,推荐一款刷题网站,赶快点击这里注册学习吧👉你的进阶之路!


    IO流要点如下:

    1、各类间的继承关系
    在这里插入图片描述

    2、在Java中使用File类文件本身,可以直接使用此类完成文件的各种操作,如创建、删除等。

    3、RandomAccessFile类可以从指定的位置开始读取信息,但是要求文件中各个数据的保存长度必须固定。

    4、输入/输出流主要分为字节流OutputStreamInputStream)和字符流WriterReader) 两种,但是在传输中以字节流操作较多,字符流在操作时使用到缓冲区,而字节流没有使用到缓冲区。

    5、字节或字符流都是以抽象类的形式定义的,根据其使用的子类不同,输入或输出的位置也不同。

    6、在IO包中可以使用OutputStreamWriterInputStreamReader完成字符流与字节流之间的转换操作。

    7、使用ByteArrayInputStreamByteArrayOutputStream类可以对内存进行输入/输出操作。

    8、在线程之间进行输入/输出通信,主要使用PipedOutputStreamPipedInputStream类。

    9、在IO中输出时最好使用打印流(PrintStreamPrintWriter),这样可以方便地输出各种类型的数据。

    10、System类提供了3个支持IO操作的常量即out、err、in

    • System.out:对应显示器的标准输出。
    • System.err:对应错误打印,一般此信息不希望被用户看到。
    • System.in:对应标准的键盘输入。

    在程序操作中,根据setOut()方法可以修改System.out的输出位置,可以使用setErr() 方法修改System.err的输出位置,也可以使用setln()方法修改System.in的输入位置。

    11、BufferedReader可以直接从缓冲区中读取数据。

    12、使用Scanner类可以方便地进行输入流操作。

    13、数据操作流提供了与平台无关的数据操作,主要使用DataOutputStream DatalnputStream类。

    14、使用合并流(Sequencelnputstream)可以将两个文件的内容进行合并。

    15、如果数据量过大,则可以使用压缩流压缩数据,在Java中支持ZIPJARGZIP 3 种压缩格式。

    16、使用回退流可以将不需要的数据回退到数据缓冲区中以待重新读取。

    17、造成字符乱码的根本原因就在于程序编码与本地编码的不统一。

    18、对象序列化可以将内存中的对象转化为二进制数据,但对象所在的类必须实现 Serializable接口,一个类中的属性如果使用transient关键字声明,则此属性的内容将不会被序列化。

    19、对象的输入/输出主要使用ObjectlnputStreamObjectOutputStream两个类完成。


    和我一起来刷题学习吧!传送门👉牛客网-求职|面试|学习

  • 相关阅读:
    ROS中Rviz实时路径可视化的高效性能优化技巧
    C语言第三十六弹---文件操作(中)
    【数据库】数据库模式 Schema
    解决ffmpeg的播放摄像头的延时优化问题(项目案例使用有效)
    LyScript 批量搜索反汇编特征
    嵌入式开发实战系列:QSPI Flash驱动功能解析
    智慧楼宇物联网建设实施方案(1)
    DIVFusion_ Darkness-free infrared and visible image fusion 论文解读
    3. 数组+【矩阵压缩存储】:对称、三角、三对角、稀疏矩阵
    python面试攻略(coding篇)
  • 原文地址:https://blog.csdn.net/CSDN_anhl/article/details/126480328