文档介绍:《 Java 语言课程设计指导》课程设计预备知识 输入输出流和文件处理 Java 的常用输入、输出流常用的输入输出流都继承自 4 个抽象类,分别是基于字节的 InputStream,OutputStrea m 类和基于字符的 Reader 和 Writer 类。 InputStream 和 OutputStream 类及其子类以字节为单位读写数据,所以称为字节流,而 Reader 和 Write 类及其子类以字符为单位读写数据,称为字符流。 字节流字节流包括以下几种类型,如表 7-1 所示。表 7-1 常见的字节流子类及功能字节流的类名功能 FileOutputStream 写入文件的输出流 FileInputStream 从文件读入的输入流 DataOutputStream 包含了写 Java 标准数据类型的输出流 DataInputStream 包含了读取 Java 标准数据类型的输入流 BufferedInputStream 缓冲输入流 BufferedOutputStream 缓冲输出流 ByteArrayInputStream 从字节数组读取的输入流 ByteArrayOutputStream 写入字节数组的输出流 PrintStream 包含最常见的 Print() 和 Println() 的输出流 InputStream 的常用方法 InputStream 是所有字节输入流的父类,其常用方法如表 7-2 所示。表 7-2 InputStream 类的常用方法方法名功能 int read( ) 读取一个字节,返回值为所读的字节 int read( byte b[]) 读取多个字节,放置到字节数组 b中 int read( byte b[ ], int off, int len ) 读取 len 个字节, 放置到以下标 off 开始字节数组 b中 int available( ) 返回值为流中尚未读取的字节的数量 long skip( long n) 读指针跳过 n 个字节不读,返回值为实际跳过的字节数量 close( ) 关闭输入流 OutputStream 的常用方法 OutputStream 是所有字节输出流的父类,其常用方法如表 7-3 所示。表 7-3 OutputStream 类的常用方法方法名功能 void write( byte b) 往输出流中写一个字节 b void write( byte b[]) 往输出流中写一个字节数组 b void write( byte b[ ], int off, int len ) 把字节数组 b 中从下标 off 开始、长度为 len 的字节写入流中 flush( ) 刷空输出流,并输出所有被缓存的字节 close( ) 关闭输出流 字符流字符流包括以下几种类型,如表 7-4 所示。表 7-4 常见的字符流子类及功能字符流的类名功能 InputStreamReader 将字节转换为字符的输入流 OutputStreamWriter 将字节转换为字符的输出流 FileReader 从文件读入的输入流 FileWriter 写入文件的输出流 CharArrayReader 从字符数组读取的输入流 CharArrayWriter 写入字符数组的输出流 StringReader 从字符串读取的输入流 StringWriter 写入字符串的输出流 BufferedReader 针对字符的缓冲输入流 BufferedWriter 针对字符的缓冲输出流 Reader 的常用方法 Reader 是所有字符输入流的父类,其常用方法如表 7-5 所示。表 7-5 Reader 类的常用方法方法名功能 int read( ) 读取单个字符,返回作为整数读取的字符 int read( char[] cbuf ) 将字符读入数组,返回读取的字符数 int read( char[] cbuf, int off, int len ) 读取 len 个字符的数据存放到数组 cbuf 中。 long skip( long n) 跳过 n 个字符不读,返回值为实际跳过的字符数 close( ) 关闭输入流 Writer 的常用方法 Writer 是所有字符输出流的父类,其常用方法如表 7-6 所示。表 7-6 Writer 类的常用方法方法名功能 void write( intc) 往流中写入单个字符 c void write(char[] cbuf ) 往流中写入字符数组 cbuf void write( char[] cbuf, int off, int len ) 将字符数组 cbuf 的