疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java I/O的简单理解


 

   

  首先,以字符的形式进行读取的类:Reader和Writer(这里就讨论一个方面,Reader)。其子类:

  —BufferedReader(构造函数参数:Reader) 创建一个默认大小输入缓冲区的缓冲字符输入流。BufferedReader(构造函数参数:Reader和int)创建一个指定大小输入缓冲区的缓冲字符输入,从字符输入流中读取文本,缓冲各个字符,从而实现字符,数组,行的高效读取。

  —CharArrayReader(构造函数参数:char[])根据指定的char数组创建一个CharArrayReader,实现一个可用字符输入流的字符缓冲区

  —FilterReader(构造函数参数:Reader)用于读取以过滤的字符流的抽象类。

  —InputStreamReader(构造函数参数:InputStream)是字节流通向字符流的桥梁,每次调用InputStreamReader中的read()方法都会导致从底层输入流读取一个或多个字节

  —PipedReader(构造函数参数:PipedWriter src)创建连接到传送的PipedReader

  —StringReader(String)创建一个新字符串reader

  其次,以字节的形式进行读取的类(使用的相对较多):InputStream和OutputStream,其中InputStream类型:

  —ByteArrayInputStream 允许将内存的缓冲当做InputStream使用

  —StringBufferInputStream 将String转换成InputStream

  —FileInputStream 用于从文本中读取信息

  —PipedInputStream 实现管道化概念

  —FilterInputStream 抽象类,作为装饰器的接口,其中,装饰器为InputStream有用的功能

  还有两个比较常用的类DataInputStream和DataOutputStream,它们属于FilterInputStream类型。

  DataInputStream是从源文件中读取内容到字节流中然后到程序,对应的方法是read()等。DataOutPutStream是从程序中写入到字节流中然后写入到对应的文件对应的方法是write()等