2010-12-03 18 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."); 

爲了提高效率,您可以讀取一堆字節並將字節數除以四,因爲一個整數是四個字節。