流——接口

来源:互联网 发布:ex什么意思网络用语 编辑:程序博客网 时间:2024/06/13 12:44

字节序列来源(stream)

文件,网络,内存块

面向字节的流不便于处理Unicode形式(因为Unicode中每个字符都使用多个字节来表示),所以出现了Reader和writer

几个接口

  • java.io.Closeable  方法 close()inputstream outputStream Reader Writer 都实现了该接口
  • java.io.Flushable 方法 flush() outputStream Write实现了该接口
  • java.lang.Readable 方法 read() 
  • java.lang.Appendable 方法 append()
  • java.lang.CharSequence
此接口对许多不同种类的 char 序列提供统一的只读访问 
已知实现类:
CharBuffer,Segment,String, StringBuffer, StringBuilder charcharAt(int index)
          返回指定索引的 char 值。 intlength()
          返回此字符序列的长度。 CharSequencesubSequence(int start, int end)
          返回一个新的 CharSequence,它是此序列的子序列。 StringtoString()
          返回一个包含此序列中字符的字符串,该字符串与此序列的顺序相同。

inputStream主要方法:

 intavailable()
          返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。 voidclose()
          关闭此输入流并释放与该流关联的所有系统资源。 voidmark(int readlimit)
          在此输入流中标记当前的位置。 booleanmarkSupported()
          测试此输入流是否支持 markreset 方法。abstract  intread()
          从输入流中读取数据的下一个字节。 intread(byte[] b)
          从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。 intread(byte[] b, int off, int len)
          将输入流中最多 len 个数据字节读入 byte 数组。 voidreset()
          将此流重新定位到最后一次对此输入流调用 mark 方法时的位置。 longskip(long n)
          跳过和丢弃此输入流中数据的 n 个字节。

另外几个接口

  • java.io.DataInput
    • java.io.ObjectInput
  • java.io.DataOutput
    • java.io.ObjectOutput
DataInput 接口用于从二进制流中读取字节,并根据所有 Java 基本类型数据进行重构。
对于此接口中的所有数据读取例程来说,如果在读取所需字节数之前已经到达文件末尾 (end of file),则将抛出 EOFExceptionIOException 的一种)。如果因为到达文件末尾以外的其他原因无法读取字节,则将抛出IOException 而不是 EOFException。尤其是,在输入流已关闭的情况下,将抛出IOException。 
 booleanreadBoolean()
          读取一个输入字节,如果该字节不是零,则返回 true,如果是零,则返回 false bytereadByte()
          读取并返回一个输入字节。 charreadChar()
          读取两个输入字节并返回一个 char 值。 doublereadDouble()
          读取八个输入字节并返回一个 double 值。 floatreadFloat()
          读取四个输入字节并返回一个 float 值。 voidreadFully(byte[] b)
          从输入流中读取一些字节,并将它们存储在缓冲区数组 b 中。 voidreadFully(byte[] b, int off, int len)
          从输入流中读取 len 个字节。 intreadInt()
          读取四个输入字节并返回一个 int 值。 StringreadLine()
          从输入流中读取下一文本行。 longreadLong()
          读取八个输入字节并返回一个 long 值。 shortreadShort()
          读取两个输入字节并返回一个 short 值。 intreadUnsignedByte()
          读取一个输入字节,将它左侧补零 (zero-extend) 转变为 int 类型,并返回结果,所以结果的范围是 0255 intreadUnsignedShort()
          读取两个输入字节,并返回 065535 范围内的一个 int 值。 StringreadUTF()
          读入一个已使用 UTF-8 修改版格式编码的字符串。 intskipBytes(int n)
          试图在输入流中跳过数据的 n 个字节,并丢弃跳过的字节。最主要的使用类是DataInputStream



0 0
原创粉丝点击