1

を使用して最後の行からファイルを読みたいと思いますRandomAccessFile。これは可能ですか、それとも別のクラスを使用する必要がありますか?

このファイルはその間に変更されるため、最後の行が永遠に残ることはありません。別の読み取り中に、Java プログラムがその上に書き込みます。私の質問は次のとおりです。プログラムは、別のJavaプログラムがファイルに書き込むと同時に、変更を確認しますか?

編集

実行中にエラーログファイルに障害を書き込むサーバーがあるとします。別のプログラムがすべての行を読み取ります。これが最善の方法でしょうか?

4

1 に答える 1

1

はい、以下を使用してファイルを下から上に読み取ることができますRandomAccessFile

あなたの質問の他の部分について:

このファイルの横は時間の経過とともに変化するため、最後の行が永遠に続くことはありません。別のJavaプログラムの読み取り中に、別のJavaプログラムがファイルに書き込みます。私の質問は、プログラムは、別のJavaプログラムがファイルに書き込むと同時に、変更を確認することです。 ?

私はあなたが達成しようとしていることと問題を示すSSCCEを提案します

編集:

Jon Skeetsのコメントが示唆しているように、私は彼が答えた同様の質問へのリンクを見つけました。テキストファイルの最後の行をすばやく読みますか?

編集2:

2番目の質問があったと思いますが、それが可能かどうかはわかりません。1つのファイルに2つの異なるストリームから同時にアクセスできないため、ファイルを開こうとするとエラーがスローされます。ただし、Ypuは、誤解しない限り、 Java.NIODirectoryWatcherを使用してファイルを読み取った後に変更が発生したかどうかを監視できます。

于 2012-07-08T17:29:59.027 に答える