Java问题。已知有一个用DataOutputStream的writeInt(int)方法创建的一个二进制数据文件

//已知有一个用DataOutputStream的writeInt(int)方法创建的一个二进制数据文件,文件包含数目不确定的整数,编写程序计算这些整数的和//怎么才能知... //已知有一个用DataOutputStream的writeInt(int)方法创建的一个二进制数据文件,文件包含数目不确定的整数,编写程序计算这些整数的和
//怎么才能知道整数的数目呢?

DataInputStream dis=new DataInputStream(new FileInputStream("Exercise19_3.dat"));

int sum=0;

int b;

while((b=dis.read())!=-1){//这行要怎么该呢?

sum+=dis.readInt();

System.out.println("sum="+sum);

}

dis.close();
展开
 我来答
雪色精魂
推荐于2017-12-15 · TA获得超过181个赞
知道小有建树答主
回答量:234
采纳率:0%
帮助的人:160万
展开全部

帮你修改了一下:

try{
     DataInputStream dis=new DataInputStream(new FileInputStream("Exercise19_3.dat"));
    int sum = 0;
    while(dis.available()>0)
   {
    //调用available()方法,返回值是剩余可读字节数 
    //输出用于测试结果 
    //System.out.println("available:"+dis.available());
    //readInt()方法对应writeInt()方法,每次读取4个字节,变成int值返回 
    int x = dis.readInt();
    sum += x; 
    //测试输出结果 
    //System.out.println("x="+x);
   }
    dis.close(); 
    System.out.println("sum="+sum); 
  }catch(IOException ioe)
  {
   ioe.printStackTrace();
  }
追问
谢谢,我就是需要这一行:while(dis.available()>0)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式