zoukankan      html  css  js  c++  java
  • java 面向对象编程--第17章 I/O系统

    1、I/O操作指的是输入和输出流的操作。相对内存而言,当我们从数据源中将数据读取到内存中,就是输入流,也叫读取流。当我们将内存中处理好的数据写入数据源,就是输出流,也叫写入流。

    2、流按照内容分类:字节流、字符流、对象流。

             其实真正的流只有一种:字节流。数据的传输在底层都是以二进制方式传输,所以无论哪种流,都是字节流。字符流和对象流是在字节流基础上做了一层封装,以方便对字符数据和对象数据进行操作。

    3、所有字节流的父类:InputStream和OutputStream。

             所有字符流的父类:Reader和Writer

    4、流操作的步骤:

             建立流:建立内存和数据源之间传输数据的通道;

             操作流:操作传输的数据;

             关闭流:关闭内存和数据源之间的通道,释放资源。

    5、当操作文件流时,如果文件不存在,读取流会抛出FileNotFoundException,写入流会创建新文件,但前提是该文件所在目录必须存在。如果目录不存在,同样会抛出FileNotFoundException。

    6、流使用完毕后,必须关闭。如果不关闭,浪费内存资源,另外,写入流有可能写不进数据。

    7、File 文件类:

    • getName(),获得文件名;
    • getParent(),获得文件目录;
    • getAbsolutePath(),获得文件绝对路径;
    • exists(),判断文件是否存在;
    • isFile(),判断对象是否是文件;
    • isDirectory(),判断对象是否是目录;
    • listFiles(),获得一个目录中所有的文件列表,包含文件和目录,但不包括子目录中的内容;
    • delete(),删除文件或目录(删除目录时),必须保证目录为空目录。
    • mkdir(),创建指定路径的目录

    8、递归:在一个方法中调用同一个方法。

    9、对象序列化:当需要对对象进行数据传输时,由于对象中的数据比较庞大,所以在传输对象前需要将对象打散成字节序列,以方便传输。这个过程,称为对象序列化。到达目的地后,又需要将字节序列还原成对象,这个过程叫反序列化。

  • 相关阅读:
    开启Chrome内核浏览器的多线程下载功能
    golang fasthttp
    国内外短信接码平台合集
    jsrsasign 进行 RSA 加密、解密、签名、验签
    sysbench对自装MySQL数据库进行基准测试
    MySQL慢查询
    Logstash的配置
    简单的MySQL主从状态监控
    aria2c备忘
    DataX 整合后重新编译打包
  • 原文地址:https://www.cnblogs.com/littlejava/p/5470614.html
Copyright © 2011-2022 走看看