一、今日学习内容:
今天主要是对文件与流的知识的初步学习:
1、流:
一连串有顺序的数据系列可以看成是一个流。
Java将文件看成是一个流。
流有一个存取指针,它指向流中可以存取数据的位置。
2、流的分类:
Java中的流可以按以下标准进行划分:
(1) 输入流和输出流:数据“流入”程序的称为“输入”。
(2)字节流和字符流:指存取数据的最小单位。
(3)节点流(Node Stream)和处理流(Processing Stream):
节点流直接连接到数据源,处理流是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现增强的数据读写功能,它并不直接连到数据源。
3、流的基类:
(1)字节流的两个基类InputStream和OutputStream:以字节为单位,是所有字节输入与输出流的父类;
(2)字符流的两个基类Reader和Writer:以字符(2个字节)为单位。
4、注意:
凡是以InputStream或OutputStream结尾的类型为字节流。
凡是以Reader或Writer结尾的均为字符流。
5、JDK7中,InputStream/OutputStream实现了AutoCloseable接口,所以可以在try…catch中使用而不需要显式关闭。
6、常用的System.out被称为“ 标准输出流”,它是PrintStream类型的实例。
7、缓冲技术:
Java使用了文件缓冲技术,其优点有:
(1)提高了I/O的性能
(2)在内存中开辟一块区域,称为缓冲区
(3)当缓冲区满时一次写入到磁盘中。
相关的Java类:
(1)BufferedInputStream/BufferedOutputStream:适合于包容二进制数据的文件
(2)BufferReader/BufferWriter:适合于读写文本文件。
二、遇到的问题:
主要是一开始不太理解java中流的定义。
三、明日学习计划:
继续文件与流的学习。