认识java的流:
(1)读文件是指把文件中的数据读取到内存中。
(2)写文件是把内存中的数据写到文件中。
(3)Java程序通过 流来读写文件。
(4)流是指一连串流程的字符,是以先进先出的方式发送和接收数据的 通道。
(5)流分为输入流和输出流,输入/输出流是相对于计算机内存来说的,如果数据输入到内存,则为输入流,如果从内存中输出则为输出流。
(6)Java的输出流主要有OutputStream类和Writer类作为基类,输入流主要由InputStream类和Reader类作为基类。
(7)在java.io包中,封装了许多输入/输出流的API,在程序中,这些输入/输出流类的对象称为 流对象。
(8)可以通过流对象将内存中的数据以流的方式写入文件,也可以通过流对象将文件中的数据以流的方式读取到内存。
(9)构造流对象时往往会和数据源(如文件)联系起来。数据源分为源数据源和目标数据源。输入流关联的是源数据源;输出流关联的是目标数据源。
(10)输入/输出流又分为字节流和字符流两种形式
字节流是8位通用字节流,其基本单位是字节。字节流的基类是InputStream类和OutputStream类,它们是 抽象类。
字符流是16位Unicode字符流,基本单位是Unicode字符。字符流最适合用来处理字符串和文本,因为它们支持国际上大多数的字符集和语言。字符流的基类是Reader类和Writer类,它们是 抽象类。
(11)一个被访问的流基本特征都是通过实现InputStream类、OutputStream类、Reader类和Writer类这4个抽象类的方法建立的。
Writer类
Writer抽象类是表示字符输出流的所有类的超类,它以字符为单位向数据源写出数据。其派生的常用子类说明如下:
● OutputStreamWriter类
该类将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流的输出对象。
● FileWriter类
该类从 OutputStreamWriter 类继承而来。该类按字符向字符类文件写入数据。
● BufferedWriter类
该类用于将文本写入字符输出流,缓冲各个字符,从而提供单个字符,数组和字符串的高效写入。
(12)在操作上字节流和字符流还有一个区别,字符流在操作时使用了缓冲区(内部存储器),而字节流在操作时直接操作文件,不会使用缓冲区。
(13)流中的方法在出现错误时都会抛出 IOException异常。