2010-12-03 34 views
0

有人可以帮我解决这个问题吗?我对二进制I/O类不太了解。二进制I/O类(汇总二进制数据文件中的所有整数)

假设在DataOutputStream中使用writeInt(int)创建了一个名为Exercise 13b_1.dat的二进制数据文件。该文件包含未指定数量的整数。编写一个程序来查找整数的总和。

+0

编程主要是使用二进制编程,并且你拥有世界上所有的时间。所以尝试一下,并询问一些你不清楚的细节。 – ruslik 2010-12-03 01:29:41

+0

提示:您认为用什么方法来读取用“writeInt”方法编写的东西? – 2010-12-03 01:43:23

回答

0

这是一个简单的解决方案。

FileInputStream fis = new FileInputStream("13b_1.dat"); 
DataInputStream dis = new DataInputStream(fis); 
int count = 0; 

try { 
    while (true) { 
     dis.readInt(); 
     count++; 
    } 

} catch (EOFException e) {} 

System.out.println("There are " + count + " integers."); 

为了提高效率,您可以读取一堆字节并将字节数除以四,因为一个整数是四个字节。