ランダムアクセスファイルにバイトを書き込みます。操作が完了したら、ファイルから最初の100バイトを削除します。どうすればこれを達成できますか?Javaのランダムアクセスファイルの最初のバイトを削除する
ありがとうございます。
ランダムアクセスファイルにバイトを書き込みます。操作が完了したら、ファイルから最初の100バイトを削除します。どうすればこれを達成できますか?Javaのランダムアクセスファイルの最初のバイトを削除する
ありがとうございます。
AFAIK、残りのバイト(ファイル長 - 100)を新しいファイルにコピーする必要があります。残りのバイトを新しいファイルにコピーしないと、ファイルから最初の100バイトを削除することはできません。
編集:cdhowieが正しく指摘したように、あなたはできます
ファイル全体が書き込まれるまで、このプロセスを繰り返します。前回よりも100バイト小さいfilelengthを設定して終了します。あなたが安全な側にいて元のファイルを壊す危険性がないようにするには、最初に一時ファイルに書き込む価値があります。
これを行う簡単な方法はありません。バイト100から開始し、バイト0から開始して書き込む必要があります。基本的には、ファイルの内容を100バイトずつ手動でシフトします。次に、truncateのファイルをその長さよりも100バイト小さくすることができます。
実際にはファイルを書き換えたいです。最初にファイルサイズを修正し、サイズに達した後、最初のバイトを削除し、ファイルの最後に新しいコンテンツを追加します。 – sirin
申し訳ありません、私はあなたの質問を誤解しました。 100バイトのバイトオフセットから読み込み、filelength - 100バイトを新しいファイルに書き込みます。 – BlueVoodoo
新しいファイルを使用する必要はありません。同じファイルに読み書き/読み書き/検索ができます。 – cdhowie