0

を使用して読み取り専用ファイルに書き込みたいのですがXmlWriter。これを行うための適切な方法は何ですか?

現在私は持っています:

XmlWriterSettings lSettings = new XmlWriterSettings();
lSettings.Encoding = new UTF8Encoding(false);
lSettings.Indent = true;

XmlWriter lWriter = XmlWriter.Create(lPath, lSettings);
lXml.WriteContentTo(lWriter);
lWriter.Close();

読み取り専用フラグのクリアと再設定を回避する方法があるかどうか疑問に思っています。

4

2 に答える 2

2

ファイルが読み取り専用に設定されている場合は、フラグを再設定する必要があります。回避策はありません。

もちろん、ファイルを削除して(フラグをクリアする必要があります)、新しいファイルを書き込むこともできますが、書き込み操作が行われない場合(どこかで例外)、内容が失われるリスクがあります。

于 2011-04-12T15:30:47.640 に答える
1

私が理解しているように、このフラグはオペレーティングシステムによって直接制御されているため、ファイルに書き込むには読み取り専用フラグを削除する必要があります。

書き込みフラグが有効になっているときに他の誰かがファイルに書き込む可能性を回避したい場合は、ファイルの一時的なコピーを実行し(書き込み権限を使用)、そのファイルにXMLを書き込み、最後に元のファイルを置き換えることができますあなたと一緒にファイルし、フラグを読み取り専用に設定します。

于 2011-04-12T15:43:21.483 に答える