第7课输入流和输出流?流是程序和外界进行数据交换的通道?分为输入流( InputStream ) 和输出流( OutputStream )。程序通过输入流从数据源读取数据,通过输出流向目的地写数据。参见《 Java 面向对象编程》的第 16 章输入流? InputStream 类是所有输入流的父类,它是一个抽象类,不能被实例化。它提供了一系列和读取数据有关的方法。 int read(), int read(byte[] b) 从数据源读取数据 void close() 当完成读操作后,应该关闭输入流。输出流? OutputStream 类是所有输出流的父类,它是一个抽象类,不能被实例化。它提供了一系列和写数据有关的方法。? void write( int ),void write(byte[] b) 向输出流写数据。? void close() 当完成写操作后,应该关闭输出流。? void flush() OutputStream 类本身的 flush() 方法不执行任何操作,它的一些带有缓冲区的子类(比如 BufferedOutputStream 和 PrintStream 类)覆盖了 flush() 方法。通过带缓冲区的输出流写数据时,数据先保存在缓冲区中,积累到一定程度才会真正写到输出流中。缓冲区通常用字节数组实现,实际上是指一块内存空间。 flush() 方法强制把缓冲区内的数据写到输出流中。输入流的层次基本的输入流类 FileInputStream import java. io.*; class FileReaderSample { public static void main(String agrs [])throws IOException { FileInputStream in=new FileInputStream (“ C:\\"); int data; while(( data=())!=-1 ) (data +" "); (); } }过滤输入流: FilterInputStream ? FilterInputStream 是一种用于扩展输入流功能的装饰器,它有好几个子类,分别用来扩展输入流的某一种功能 DataInputStream 类? DataInputStream 实现了 DataInput 接口,用于读取基本类型数据,如 int 、 float 、 long 、 double 和 boolean 等。此外, DataInputStream 的 readUTF () 方法还能读取采用 UTF-8 编码的字符串。 DataInputStream 类的所有读方法都都以“ read ”开头,比如: ? readByte ():从输入流中读取 1个字节,把它转换为 byte 类型的数据。? readLong ():从输入流中读取 8个字节,把它转换为 long 类型的数据。? readFloat ():从输入流中读取 4个字节,把它转换为 float 类型的数据。? readUTF ():从输入流中读取 1到3个字节,把它转换为采用 UTF-8 编码的字符串。 DataInputStream 类(参见 FormatDataIO .java) FileOutputStream out1=new FileOutputStream ("D:\\"); BufferedOutputStream out2=new BufferedOutputStream (out1); // 装饰文件输出流 DataOutputStream out=new DataOutputStream (out2); // 装饰带缓冲输出流 out. writeByte (-12); out. writeLong (12); out. writeChar ('1'); out. writeUTF ("好"); (); InputStream in1=new FileInputStream ("D:\\"); BufferedInputStream in2=new BufferedInputStream (in1); // 装饰文件输入流 DataInputStream in=new DataInputStream (in2); // 装饰缓冲输入流 (in. readByte ()+" "); (in.
java输入输出流-课件【PPT讲稿】 来自淘豆网m.daumloan.com转载请标明出处.