zoukankan      html  css  js  c++  java
  • 八. 输入输出(IO)操作4.面向字节的输入输出流

    字节流以字节为传输单位,用来读写8位的数据,除了能够处理纯文本文件之外,还能用来处理二进制文件的数据。InputStream类和OutputStream类是所有字节流的父类。

    InputStream类

    面向字节的输入流都是InputStream类的子类,其类层次结构如图10-6所示。


    图10-6 InputStream的类层次结构图


    表 10-5 列出了 InputStream 的主要子类及说明。

    表 10-5 InputStream 的主要子类
    类名功能描述
    FileInputStream 从文件中读取的输入流
    PipedInputStream 输入管道
    FilterInputStream 过滤输入流
    ByteArrayInputStream 从字节数组读取的输入流
    SequenceInputStream 两个或多个输入流的联合输入流,按顺序读取
    ObjectInputStream 对象的输入流
    LineNumberInputStream 为文本文件输入流附加行号
    DataInputStream 包含读取 Java 标准数据类型方法的输入流
    BufferedInputStream 缓冲输入流
    PushbackInputStream 返回一个字节并把此字节放回输入流


    InputStream 流类中包含一套所有输入都需要的方法,可以完成最基本的从输入流读入数据的功能。表 10-6 列出了其中常用的方法及说明。

    表 10-6 InputStream 的常用方法
    方法功能描述
    void close() 关闭输入流
    void mark() 标记输入流的当前位置
    void reset() 将读取位置返回到标记处
    int read() 从输入流中当前位置读入一个字节的二进制数据,以此数据为低位字节,补足16位的整型量(0~255)后返回,若输入流中当前位置没有数据,则返回-1
    int read(byte b[]) 从输入流中的当前位置连续读入多个字节保存在数组中,并返回所读取的字节数
    int read(byte b[], int off, int len) 从输入流中当前位置连续读len长的字节,从数组第off+1个元素位置处开始存放,并返回所读取的字节数
    int available() 返回输入流中可以读取的字节数
    long skip(long n) 略过n个字节
    long skip(long n) 跳过流内的n个字符
    boolean markSupported() 测试输入数据流是否支持标记

    OutputStream类

    面向字节的输出流都是OutputStream类的子类,其类层次结构如图10-7所示。

    图10-7 OutputStream的类层次结构图
    图10-7 OutputStream www.jimeiyulept.com 的类层次结构图


    10-7列出了OutputStream的主要子类及说明。 

    表10-7 OutputStream的主要子类
    类名功能描述
    FileOutputStream 写入文件的输出流
    PipedOutputStream 输出管道
    FilterOutputStream 过滤输出流
    ByteArrayOutputStream 写入字节数组的输出流
    ObjectOutputStream 对象的输出流
    DataOutputStream 包含写Java标准数据类型方法的输出流
    BufferedOutputStream 缓冲输出流
    PrintStream 包含print()和println()的输出流


    OutputStream流类中包含一套所有输出都需要的方法,可以完成最基本的向输出流写入数据的功能。表10-8列出了其中常用的方法及说明。 

    表10-8 OutputStream的常用方法
    方法功能描述
    void close() 关闭输出流
    void flush() 强制清空缓冲区并执行向外设输出数据
    void write(int b) 将参数b的低位字节写入到输出流
    void write(byte b[]) 按顺序将数组b[]中的全部字节写入到输出流
    void write(byte b[], int off, int len) 按顺序将数组b[]中第off+1个元素开始的len个数据写入到输出流


    由于InputStream和OutputStream都是抽象类,所以在程序中创建的输入流对象一般是它们某个子类的对象,通过调用对象继承的read()和write()方法就可实现对相应外设的输入输出操作。

  • 相关阅读:
    下载最新Silverlight 5 Beta客户端
    oracle数据库导入导出命令!
    使用SQL Server 2008提供的表分区向导
    Microsoft Visual Studio 2010 旗舰版下载地址
    用C#创建Windows服务(Windows Services)
    Socket通信:服务端发送安全策略到flash(c#)
    Microsoft Silverlight 4 Tools for Visual Studio 2010 下载地址
    Flex打印
    .NET中三种数据类型转换的区别:(type), type.Parse, Convert类
    JQUERY 常用方法大全
  • 原文地址:https://www.cnblogs.com/ok932343846/p/7049488.html
Copyright © 2011-2022 走看看