第十周课程总结

1、总结
Java IO的操作流程:
(1)使用Flle类打开一个文件。
(2)通过字节流和字符流的子类指定输出的位置。
(3)进行读和写的操作。
(4)关闭输入和输出。
字节流与字符流的区别
字符输入:字节(磁盘)–> 自动转换为 –>字符(内存)
字符输出:字符(内存)–> 自动转换为–>字节(磁盘)
字节流的操作:
    1)输入:inputStream,
    2)输出:outPutStream;
  字符流的操作:
    1)输入主要使用:reader类。
    2)输出主要使用:write类。
实际上四个操作类都是抽象类(区别接口,抽象类的成员都是抽象,并且只能单继承,接口可以有全局变量,但是接口可以多继承)
字节输入流InputStream
这是一个抽象方法,也就是说任何派生自InputStream的输入字节流类都需要实现这一方法,这一方法的功能是从字节流中读取一个字节,若到了末尾则返回-1,否则返回读入的字节。关于这个方法我们需要注意的是,它会一直阻塞知道返回一个读取到的字节或是-1。另外,字节流在默认情况下是不支持缓存的,这意味着每调用一次read方法都会请求操作系统来读取一个字节,这往往会伴随着一次磁盘IO,因此效率会比较低。read(byte[])方法内部也是通过循环调用read()方法来实现“一次”读入一个字节数组的,因此本质来说这个方法也未使用内存缓冲区。要使用内存缓冲区以提高读取的效率,我们应该使用BufferedInputStream。

posted @ 2019-11-02 21:29  幼稚动感男  阅读(135)  评论(0编辑  收藏  举报