ファイルから数値を読み取る方法???RandomAccessFile readInt
私はreadIntメソッドを使用すると大きな数字を取得し、それはファイルの番号と等しくありません。
どのように修正するのですか?
スキャナはファイルがもっとそして1000の、何百万の番号が含まれていbecouse ...それは...
はい、テキストファイルを非常に長い時間がかかるだろう、良いアイデアではありません。
ファイルには、スペースを除いた数字が含まれています。例えば(test.txtという)
public static void readByMemoryMappedFile(int buffer[], String filename) throws IOException
{
int count = 0;
RandomAccessFile raf = new RandomAccessFile(filename, "r");
try {
MappedByteBuffer mapFile = raf.getChannel().map(MapMode.READ_ONLY, 0, raf.length());
StringBuilder b = new StringBuilder();
try {
while (mapFile.hasRemaining()) {
byte read = mapFile.get();
if (read == ' ' && b.length() > 0) {
buffer[count++] = mapFile.getInt();//Integer.parseInt(b.toString());
b.delete(0, b.length());
} else {
b.append((char) read);
}
}
} catch (BufferUnderflowException e) {
// Всё, файл закончился
}
if (b.length() > 0) {
buffer[count++] = Integer.parseInt(b.toString());
}
} finally {
raf.close();
}
}
そう1 2 4 -4004 15458 8876、私がレポート添付:
// operation: time
reading: 39719 // t0
reading: 28297 // t1
reading: 56719 // t2
reading: 125735 // t3
reading: 199000 // t4
T0 < T1 < T2 < T3 < T4
これを取得するプログラムの動作を変更するには:t0〜t1〜t2〜t3〜t4 ???
どのように保存されていますか? –
重要な質問は、バイナリまたはテキスト形式のデータですか?これはあなたの質問ではっきりしていません。 –