micro_cloud_fly 2018-05-24 10:05 采纳率: 0%
浏览 1016
已采纳

java从同一个字节数组读取数据,两个输入流为什么会互相受影响

代码如下

public static void main(String[] args) {
        byte[] test = new byte[100];
        for (int i = 0; i < test.length; i++) {
            test[i] = (byte) i;
        }
        ByteArrayInputStream bins = new ByteArrayInputStream(test);
        DataInputStream dins = new DataInputStream(bins);
        try {
            System.out.println("第一次读取前dins有效长度:" + dins.available());
            System.out.println("第一次读取一个字节:" + dins.readByte());
            System.out.println("第一次读取又读取一个字节:" + dins.readByte());
            System.out.println("第一次读取后dins有效长度:" + dins.available());
            dins.close();
            bins.close();
            System.out.println("第一次读取后原字节数组的长度:" + test.length);
            ByteArrayInputStream bins1 = new ByteArrayInputStream(test);
            DataInputStream dins1 = new DataInputStream(bins);
            System.out.println("第二次读取前dins1有效长度:" + dins1.available());
            System.out.println("第二次读取一个字节:" + dins1.readByte());
            System.out.println("第一次读取又读取一个字节:" + dins1.readByte());
            System.out.println("第一次读取后dins有效长度:" + dins1.available());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}


输出内容如下
第一次读取前dins有效长度:100
第一次读取一个字节:0
第一次读取又读取一个字节:1
第一次读取后dins有效长度:98
第一次读取后原字节数组的长度:100
第二次读取前dins1有效长度:98
第二次读取一个字节:2
第一次读取又读取一个字节:3
第一次读取后dins有效长度:96

  • 写回答

2条回答

  • MrYangZCH 2018-05-24 10:21
    关注

    **我告诉你为什么

    ByteArrayInputStream bins1 = new ByteArrayInputStream(test);
    DataInputStream dins1 = new DataInputStream(**bins**);
    自己看看写的什么
    应该是
    ByteArrayInputStream bins1 = new ByteArrayInputStream(test);
    DataInputStream dins1 = new DataInputStream(bins1);**

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)