1

私が管理した唯一の方法は、これを行うための一時ファイルを作成することですが、これは私が望むものではありません。一時ファイルを作成せずに、テキスト ファイルの N 行目を文字列に置き換える方法の例を誰かが提供できますか。

よろしくお願いします=)

4

1 に答える 1

1

RandomAccessFileを使用できます...これにより、ファイルの読み取りと書き込みが同時に行われます...したがって、一時ファイルを作成する必要はありません...

アイデアは、readLineを使用してN-1行目をスキップすることです。

次に、7行目のバイトをカウントし、replaceStringバイトと比較します。

replaceStringBytes <seventhLineBytesの場合、7行目のバイト全体を置き換え、7行目以降の読み取りを続行し、ファイル内の前のバイトを移動します。

replaceStringBytes> 7thLineBytesの場合、バイト単位の差のバッファを作成し、7行目以降に追加のバイトを格納します...先に進むたびに差でバッファを埋め続けます...

ここにいくつかのヒントを与えるスレッドがあります...

Java-テキストファイルの読み取り中に上書きして、テキストファイルから行を削除します

于 2013-02-16T00:36:00.953 に答える