-1

asp.net のテキスト ファイルの特定の行を変更する必要があります。特定の行のテキストのみを変更/置換できますか?? テキスト ファイルで置換機能を使用しましたが、ファイル全体のテキストを置換しています。自分で指定した1行だけ差し替えたい。

返事待ってます..

前もって感謝します..

4

1 に答える 1

6

ファイル システムでは、通常、バイト単位で直接上書きする以外、ファイル内で編集することはできません。テキスト ファイルがすべての行で同じバイト数を使用している場合、テキスト行を非常に効率的に置き換えることができますが、最近では比較的まれなケースです

次のいずれかのオプションを選択する必要がある可能性が高くなります。

  • を使用してファイル全体をメモリにロードしFile.ReadAllLines、関連する行を変更してから、 を使用して再度書き出しFile.WriteAllLinesます。これはメモリの点では非効率ですが、コーディングは非常に簡単です。ファイルが小さい場合は、これが適切なオプションです。
  • 入力ファイルと新しい出力ファイルを開きます。入力から一度に 1 行のテキストを読み取り、それを出力にコピーするか、代わりに別の行を書き込みます。次に、両方のファイルを閉じ、入力ファイルを削除して、出力ファイルの名前を変更します。これは、一度に 1 行のテキストをメモリに格納するだけで済みますが、かなり手間がかかります。

2 番目のオプションには別の利点があります。(多くの名前変更手順を使用して) ファイルをシャッフルできるため、出力ファイルが完全で適切な場所にあることがわかっていない限り、入力ファイルを失う可能性は決してありません . しかし、それはさらに複雑です。

于 2013-07-24T05:49:52.490 に答える