zoukankan      html  css  js  c++  java
  • 字节流和字符流(InputStream类和OutputStream类)

    java流包括字节流和字符流,字节流通过I/O设备以字节数据的方式读入,而字符流则是通过字节流读入数据转换成字符“流"的形式由用户驱使。

    InputStream是所有字节输入流的父类。OutputStream是所有字节输出流的父类。

    在Java的I/O流中所有对字节流处理的类,都继承自InputStream类和OutputStream类,这是两个抽象类。

    1:InputStream类

    InputStream类是一个抽象类,作为字节输入流的直接或间接父类,它定义了许多有用的、所有子类必须的方法,包括读取、移动指针、标记、复位、关闭等方法。InputStream类的常用方法有以下几种:

    Public abstractintread():读取一个byte数据,返回值是高位补0的int类型值。

    Public int read(byteb[]):读取b.length个字节的数据放到b数组中。返回值是读取的字节数。该方法实际上是调用下一个方法实现的。

    public int read(byteb[],intoff,intlen):从输入流中最多读取len个字节数据,存放到偏移量为off的b数组中。

    public int availabel():返回输入流中可以读取的字节数。注意,若输入阻塞,当前线程将被挂起,如果InputStream对象调用这个方法的话,它只会返回0,这个方法须由InputStream类的子类调用才有用。

    public long skip(longn):忽略输入流中的n个字节,返回值是实际忽略的字节数,跳过一些字节来读取。

    public int close():在使用完之后,必须对打开的流进行关闭。

    2:OutputStream类

    OutputSteam类也是抽象类,作为字节输出流的直接或间接父类,当程序需要向外部设备输出数据时,需要创建OutputStream类的某一个子类对象来完成。与InputStream类似,这些方法也可能抛出IOExpection异常。OutputStream类中的常用方法有以下几种:

    public void write(byteb[]):将参数b的字节写到输出流中。

    public void write(byteb[],intoff,intlen):将参数b的从偏移量off开始的len个字节写入到输出流中。

    public abstractvoid write(intb):先将int转换成byte类型,低字节写入到输出流中。

    public void flush():将数据缓冲区中的数据全部输出,清空缓冲区。

    public void close():关闭输出流并释放与流相关的系统资源。

  • 相关阅读:
    clearstatcache清除文件状态缓存
    使用mysql创建自己的物化视图
    python——复制目录结构小脚本
    开发一个jQuery插件——多级联动菜单
    pack、unpack自制二进制“数据库”
    博客爬取系统
    session放入缓存(redis)、DB
    centos+nginx从零开始配置负载均衡
    几个容易被忽略的mysql知识
    数组方式进行表单提交
  • 原文地址:https://www.cnblogs.com/Angella/p/6068169.html
Copyright © 2011-2022 走看看