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(); 展开
//怎么才能知道整数的数目呢?
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(); 展开
1个回答
展开全部
帮你修改了一下:
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)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询