文档详情

Java语言程序设计 郭磊 第06章 对文件的读写新.ppt

发布:2015-12-14约字共19页下载文档
文本预览下载声明
第六章 对文件的读写 教授:郭磊 【本章导读】 数据流。所谓流,就是指数据从数据源传输到目的地的一种序列,数据流分为输入流和输出流两种,因为流是有方向性的,所以当数据需要被从什么地方引入的时候,我们要使用输出流把他们引导出来,同样的,当我们要把数据写入到什么地方的时候需要用输入流将他们引入目的地。 Java的I/O流库提供了大量的流类,存在包java.io中,其中有4个重要的类:InputStream(字节输入流),Reader(字符输入流),OutputStream(字节输出流)和Writer(字符输出流)。InputStreeam和Reader类为其子类提供了重要的读取数据的read()方法, OutputStream和Writer类为其子类提供了重要的写入数据的write()方法。Java中的输入/输出流由于处理对象的不同分为字节流和字符流两种,字节流(byte stream)为处理字节的输入和输出提供了方便的方法。字符流(character stream)为字符的输入和输出提供了方便,它们采用了统一的编码标准,因而可以国际化。当然,在某些场合字符流比字节流更有效。 本章介绍了Java数据流的概念,InputStream、OutputStream、Reader、Writer和File类,以及对文件的管理。 【本章要点】 InputStream类与OutputStream类 Reader类与Writer类 文件的管理 6.1 InputStream类与OutputStream类 InputStream类与OutputStream类属于字节流,是抽象类,在使用的时候必须先建立实体对象。关于输入和输出流的定义和继承的方法: 表6-1 继承 InputStream的方法 方法功能 1、int available()返回当前输入流可以读取的字符个数 2、void close()关闭输入流void mark()在输入流的当前位置做标记 3、Boolean markSupported()判断当前流是否支持标记 4、abstract int read()读取一个字节的数据 5、int read(byte[]b)读取若干字节的数据,并将结果返回到字节数 组b 中I 6、nt read(byte[]b,int off,int len)读取若干字节的数据,并将结果返回到字节数组b中,off为读取开始位置,len为读取的字节个数void reset()返回上一个标记,用于从该标记位置读取数据long skip(long n)在输入流中跳过几个字节 6.1 InputStream类与OutputStream类 继承OutputStream的方法 方法功能 1、void close()关闭输出流 2、void flush()输出缓冲区刷新 3、void write(byte[]b)向输出流写出字节序列 4、bvoid write(byte[]b,int off,int len)向输出流写出字节序列b,off是写入开始位置,len为写入的字节个数abstract void write(int b)写出一个字节的数据 6.2 Reader类与Writer类 Reader类和Writer类属于字符流,也是抽象类,调用之时要首先创建实体对象。 Reader类的继承方法 方法功能 1、abstract void close()关闭输入流 2、void mark()在输入流的当前位置做标记 3、boolean markSupported()判断当前流是否支持标记 4、int read()读取一个字节的数据 5、init read(char[] cbuf)读取若干字节的数据,并将结果返回到字节数组cbuf中abstract int read(char[] cbuf,int off,int len)读取若干字节的数据,并将结果返回到字节数组cbuf中,off为读取开始位置,len为读取的字节个数boolean ready()判断该流是否准备好void reset()返回上一个标记,用于从该标记位置读取数据long skip(long n)在输入流中跳过几个字节 6.2 Reader类与Writer类 表6-4 Writer类的继承方法 方法功能 1、abstract void close()关闭输出流 2、abstract void flush()输出缓冲区刷新 3、void write(char[] cbuf)向输出流写出字节序列 4、cbufabstract void write(char[] cbuf,int off,int len)向输出流写出字节序列cbuf,off是写入开
显示全部
相似文档