• 第十周课程总结


    一、字节流和字符流

    字节流和字符流都包括输入和输出操作,字节流中输出数据主要使用outputStream完成,输入使用的是InputStream,在字符流中输出主要使用Writer类完成,输入主要是使用Reader类完成

    内容操作四个类:OutputStream,InputStream,Writer,Reader 这四个类都是抽象类

    IO操作的响应步骤:

    (1)首先使用File类打开一个文件

    (2)通过字节流或字符流的子类,指定输出的位置

    (3)进行读/写操作

    (4)关闭输入/输出

    IO操作属于资源操作,在操作完毕后必须关闭,否则可能会出现未知错误

    二、字节流

    1.字节流操作的是byte类型的数据。所有的数据基本上都可以用byte数组表示出来

    2.OutputStream是字节输出流的最大父类,在操作的时候如果文件不存在,则会为用户创建新文件

    3.InputStream是字节输入流的最大父类,如果是从文件中读取,子类一定是FileInputStream

    4.OutputStream和InputStream都是抽象类.

    三、字符流

    1.字符流操作的是字符

    2.Writer类,和OutputStream相比,Writer更加方便,因为不用把想要输出的字符转换成byte

    3.Reader类,和InputStream相比基本上相同,只是用来接收数据的一个是byte数组,一个是char数组

    四、字节流和字符流的区别

    1.字节流在操作的时候本身是不会用到缓存区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的

    2.字符流在操作时,操作内容会先保存在缓冲区,只有刷新缓冲区的时候才能输出相应的操作

    五、开发中的使用

    字符只有在内存中才会形成,所以最好使用字节流操作文件

    六、字节流和字符流之间的转换

    1.OutputStreamWriter是Writer的子类,是把字符流的输出对象转化为字节流对象

    2.InputStreamReader是Reader的子类,是把字节流的输入对象转化为字符流对象

    3.FileWriter不是Writer的子类,而是转换流OutputStreamWriter的子类

    4.FileReader不是Reader子类,而是转化流InputStreamReader的子类

    5.传输或者是从文件中读取数据的时候,文件里真正保存的数据永远是字节

    七、管道流

    管道输出流PipedOutputStream,管道输入流PipedInputStream。管道流主要##是实现两个线程之间的输出流和输入流。

    八、打印流、

    字节流PrintStream,字符流PrintWriter。PrintStream可以指定输出位置

    printStream可以方便的完成输出的功能,属于装饰设计模式

    九、System对IO的三种支持

    System.Out, System.in, System.err

    System.Out是希望用户看到的

    System.err是不希望用户看到的

    输入输出重定向

  • 相关阅读:
    EFI下WIN8.1和Ubuntu的双系统安装
    硬盘损坏,全盘数据没了,杯具
    GEC2440的RTC时钟
    纠正一下apache2服务器的搭建
    qt和html的比较
    dump做个备份,发个随笔记录下
    忙了1天的qte-arm环境的搭建
    内核版本不同导致无法加载驱动
    wayne生产环境部署(360的容器发布平台-开源)
    openstack swift curl 常用操作
  • 原文地址:https://www.cnblogs.com/buxiu888/p/11782191.html
Copyright © 2020-2023  润新知