JAVA学习-IO.InputStream类型

        Java的IO库提供了多个实现了InputStream类的子类,以便于从不同的源读取数据。下面是一些常见的InputStream子类及其特点:

        1. FileInputStream:

        从文件中读取数据。它是最常用的InputStream之一。

   使用方法:

 InputStream inputStream = new FileInputStream("file.txt");

 int data = inputStream.read();

 while (data != -1) {

     // 处理读取到的数据

     // ...

     data = inputStream.read();

 }

 inputStream.close();

        2. ByteArrayInputStream:

        从字节数组中读取数据。

   使用方法:

byte[] data = {1, 2, 3, 4, 5};

InputStream inputStream = new ByteArrayInputStream(data);

int byteRead = inputStream.read();

while (byteRead != -1) {

    // 处理读取到的字节数据

    // ...

    byteRead = inputStream.read();

}

inputStream.close();

        3. BufferedInputStream:

        提供了缓冲功能,加快了数据读取速度。

   使用方法:

InputStream inputStream = new BufferedInputStream(new FileInputStream("file.txt"));

int data = inputStream.read();

while (data != -1) {

    // 处理读取到的数据

    // ...

    data = inputStream.read();

}

inputStream.close();

        4. DataInputStream:

        常用于读取原始数据类型数据(如int、double等)。

   使用方法:

InputStream inputStream = new DataInputStream(new FileInputStream("file.txt"));

int data = inputStream.readInt();

while (data != -1) {

    // 处理读取到的数据

    // ...

    data = inputStream.readInt();

}

inputStream.close();

        5. ObjectInputStream:

        用于读取Java对象,可以将对象序列化之后进行读取。

   使用方法:

InputStream inputStream = new ObjectInputStream(new FileInputStream("file.txt"));

Object obj = inputStream.readObject();

while (obj != null) {

    // 处理读取到的对象

    // ...

    obj = inputStream.readObject();

}

inputStream.close();

        这些InputStream子类都实现了InputStream的抽象方法,因此它们都具有read()方法用于读取数据,并且都需要在使用完毕后调用close()方法关闭流。其中,BufferedInputStream和DataInputStream还提供了一些额外的读取方法,例如BufferedInputStream的read(byte[] b)和DataInputStream的readInt()。

        与其他InputStream子类相比较,高级应用可以是使用FilterInputStream的子类,它们提供了对InputStream的额外处理功能,例如解密、解压缩等。

(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值