0

誰かがこの問題を解決してくれませんか? バイナリ I/O クラスはあまり得意ではありません。

演習 13b_1.dat という名前のバイナリ データ ファイルが、DataOutputStream の writeInt(int) を使用して作成されたとします。ファイルには、指定されていない数の整数が含まれています。整数の和を求めるプログラムを書きなさい。

4

1 に答える 1

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.");

1つの整数は4バイトであるため、効率を上げるために、バイトの束を読み取り、バイト数を4で割ることができます。

于 2010-12-03T01:42:57.977 に答える