ファイルの最後の10文字を削除したい。文字列"hello i am a c# learner"
がファイル内のデータであるとします。
そのファイルを。にしたいだけです"hello i am a "
。文字列であるファイルの最後の10文字は、ファイル"c# learner"
内で削除する必要があります。
解決:
ファイル全体を文字列に読み込み、最後の10文字を削除して文字列を書き戻します(ただし、ファイルサイズが大きすぎる場合、たとえば200 MBのファイルの場合、このアプローチは失敗します。最後の文字だけが必要な場合は、ファイル全体を読み取る必要はありません。 10文字なので、このアプローチを試すことができませんでした)
書き込みモードでファイルを開き、カーソル位置をこのように設定し
file.seek(-10,SeekOrigin.End)
て空のバイトを書き込むことを考えましたfile.writebye((byte)((char)' '));
しかし、ファイルには何も書き込まれていないようです。
ファイル全体を文字列に読み込むのではなく、アプローチするためのより良い方法を誰かに教えてもらえますか?
注これを行うためにc#を使用しています