1

ファイルに 2 18 4 3 という行があり、それを個々の整数として読み取りたい場合、どうすればよいでしょうか?

私はバッファリーダーを使用しています:

BufferedReader(new FileReader("mp1.data.txt"));

私は使用しようとしました:

BufferedReader(new RandomAccessFile("mp1.data.txt"));

だから私は方法を使うことができます

.readCahr();

しかし、私はエラーが発生しました

私が使用する場合

int w = in.read();

それはASCIIを読み取ります、そして私はそれがそのまま欲しいです(12月に)

最初は文字列として読もうと思っていたのですが、数字ごとに区切っていいですか?

また、各数字を1行に入れることを考えていましたが、私が持っているファイルは数字で長いです

4

6 に答える 6

5

の使用を検討してくださいScanner:

Scanner scan = new Scanner(new File("mp1.data.txt"));

その後、 (ではなくscan.nextInt()を返す)を使用できます。intStringscan.hasNextInt()

その醜い分割と解析は必要ありません:)

ただし、このアプローチでは最初の行を超えて整数の読み取りが続行されることに注意してください (それが望ましくない場合は、他の回答で概説されている 1 行のみの読み取りと処理に関する提案に従う必要があります)。

さらに、ファイル内で整数以外が検出されるとすぐhasNextInt()に戻りfalseます。無効なデータを検出して処理する方法が必要な場合は、他の回答を再度検討する必要があります。

于 2013-07-15T15:27:10.363 に答える