1、文件与 IO流2主要内容o 流的概念o 流的分类o 流的使用(以字节流为例)n 标准输入 /输出流n 文件输入 /输出流o 字符流的使用3流( Stream)的概念p流 是从 源 到 目的地 的 有序字节序列 ,具有 先进先出 的特征。p根据流与程序的关系将流分为 输入流 和 输出流 两类。p程序从输入流 读取 数据;向输出流 写出 数据。4流的概念o 源n 输入流的源可以是文件、标准输入(键盘)、其他外部输入设备或者其他输入流。o 目的地n 输出流的目的地可以是文件、标准输出(显示器)、其他外部输出设备或者其他输出流。o Java中输入输出是通过流来实现的。相关的类都在 java.io包中。
2、5流的分类o 输入流 /输出流n 按流与程序的关系分。o 字节流 /字符流n 按流中处理的数据是以字节( 8位)为单位还是以字符( 16位)为单位分为字节流和字符流。n Java中字节流和字符流分属两个不同的体系。6字节流的层次结构过滤流结点流抽象类7字符流的类层次结构CharArrayReaderStringReaderPipedReaderInputStreamReaderBufferedReaderFilterReaderFileReaderLineNumberReaderPushbackReaderReaderCharArrayWriterStringWriterPipedWriter
3、OutputStreamWriterBufferedWriterFilterWriterFileWriterWriterObjectPrinterWriter8InputStream类的常用方法o 读一个字节,并返回该字节。未读到返回 -1n public int read() throws IOExceptiono 关闭流n public void close( ) throws IOExceptiono 将数据读入字节数组 b, 返回所读的字节数n int read(byte b ) throws IOException o 将数据读入字节数组 b, 返回所读的字节数, offset和 l
4、ength指示 byte中存放读入字节的位置。n int read( byte b, int offset, int length ) throws IOException 9OutputStream的常用方法o 写一个字节n void write(int) throws IOExceptiono 关闭输出流n void close( ) throws IOExceptiono 将缓冲区的数据写到目的地。n void flush( ) throws IOException o 写一个字节数组n void write(byte b) throws IOException n void write(byte b, int offset, int length ) throws IOException 10标准输入输出流o System.out:n 把输出送到缺省的显示 (通常是显示器 )o System.inn 从标准输入获取输入 (通常是键盘 )o System是 final类, in,out是 System的静态成员变量,因此可以用 System.in等形式直接使用。