IO例外(XML)-別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

BLA bla

次の静的メソッドを持つShipmentというクラスを作成しました。

public static void WriteShipment(Shipment s, string path)
{
    XmlWriterSettings settings = new XmlWriterSettings();
    settings.Indent = true;
    settings.IndentChars = "\t";
    XmlWriter w = XmlWriter.Create(path, settings);
    w.WriteStartDocument();
    w.WriteStartElement("Shipment");
    w.WriteStartElement("id");
    w.WriteString(s.id);
    w.WriteEndElement();
    Address.WriteAddress(s.from, path);
    Address.WriteAddress(s.to, path);
    Date.WriteDate(s.receiveDate, path);
    Date.WriteDate(s.deliverDate, path);
    w.WriteStartElement("sum");
    w.WriteValue(s.sum);
    w.WriteEndElement();
    w.WriteStartElement("currency");
    w.WriteString(s.currency);
    w.WriteEndElement();
    w.WriteStartElement("paid");
    w.WriteValue(s.paid);
    w.WriteEndElement();
    w.WriteEndElement();
    w.WriteEndDocument();
    w.Close();
}

Shipmentクラスのインスタンスを受け取り、その詳細を含むXMLファイルを作成するメソッドを作成しようとしています。

ShipmentのフィールドのいくつかはタイプAddressとでありDate、これらは私が作成した他のクラスです。また、パラメーターとして受け取ったインスタンスの詳細をXMLファイルに書き込む静的メソッドもあります。

WriteAddressそしてWriteDate方法は完璧に動作しますが、私は内部でそれらを起動しようとするWriteShipment方法で、私は、実行時に次の例外を取得します-

「別のプロセスによって使用されているため、プロセスはファイルにアクセスできません」

WriteAddressWriteDateWriteShipmentすでに書き込んでいる同じファイルに書き込もうしているために発生することがわかりました(すべて同じパスを共有しているため)。

これを克服する方法はありますか?私が試した他の解決策は、無駄であるか、他の問題を引き起こしたことが証明されました。

ライアンS

表示されている問題は、WriteAddressWriteDateメソッドがすでに開かれているファイルを開こうとしていることが原因である可能性があります。

を呼び出すとXmlWriter.Create、ファイルは「ロック」され、w変数を使用してのみ書き込むことができ、を呼び出すまでロックされたままになりますw.Close()

最良のオプションは、w変数を引数としてWriteAddressandWriteDateメソッドに渡し、それをファイルに書き込むことです。

また、提案として、コードをusingブロックに配置することを検討してくださいそうすれば、いずれかのメソッドが例外をスローした場合でも、ファイルがロックされたままになることはありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

システムIO例外:ファイルが別のプロセスによって使用されているため、プロセスはファイルにアクセスできませんc#

タイプ 'System.IO.IOException'の未処理の例外。別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。

別のプロセスによって使用されているため、プロセスはファイルにアクセスできません--- EFコアシリアル化XML

System.IO.IOException:別のプロセスによって使用されているため、プロセスはファイル '.txt'にアクセスできません

System.IO.IOException: '別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

C#例外-別のプロセスで使用されているため、ファイルにアクセスできません

例外が発生しました: PermissionError [WinError 32] 別のプロセスで使用されているため、プロセスはファイルにアクセスできません:

IO例外-別のプロセスによって使用されているファイル(ディレクトリの作成後にファイルを開くことができません)

別のプロセス例外によって使用されたファイル

Skypeからconfig.xmlを読み取っているときに別のプロセスによって使用されているファイル

別のプロセスによって使用されているため、プロセスはファイルにアクセスできませんioexception

「別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。」

StreamWriter-別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

PermissionError:[WinError 32]別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

IOException:別のプロセスによって使用されているため、プロセスはファイル 'file path'にアクセスできません

別のプロセスによって使用されているため、プロセスはファイル 'pdf'にアクセスできません

別のプロセスによって使用されているため、プロセスはファイル '...'にアクセスできません

別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

プロセスは、別のプロセスによって使用されているため、ファイルにアクセスできません

別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。File.Copy

プロセスは、別のプロセスによって使用されているため、ファイルにアクセスできません

C#iTextSharp:別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

Excel別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

FileStreamResult-別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

Python WinError 32別のプロセスによって使用されているため、プロセスはファイルにアクセスできません

エラーの取得System.IO.IOException: 'プロセスはファイルにアクセスできません'

System.IO.IOException: 'プロセスはファイルにアクセスできません'

System.IO.IOException: 'プロセスはファイルにアクセスできません'

TOP 一覧

  1. 1

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  2. 2

    PictureBoxで画像のブレンドを無効にする

  3. 3

    HTTPヘッダー 'SOAPAction'の値はサーバーによって認識されませんでした

  4. 4

    レスポンシブウェブサイトの一番下にスティッキーなナビゲーションバーを作成するのに問題がある

  5. 5

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  6. 6

    Ansibleで複数行のシェルスクリプトを実行する方法

  7. 7

    Python / SciPyのピーク検出アルゴリズム

  8. 8

    ZScalerと証明書の問題により、Dockerを使用できません

  9. 9

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  10. 10

    tf.nn_conv2dとtf.nn.depthwise_conv2dの違い

  11. 11

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  12. 12

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  13. 13

    テキストフィールドの値に基づいて UIslider を移動します

  14. 14

    amCharts 4で積み上げ棒グラフの輪郭を描く方法は?

  15. 15

    MLでのデータ前処理の背後にある直感

  16. 16

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  17. 17

    「埋め込みブラウザのOAuthログイン」を有効にしてコールバックURLを指定した後でも、Facebookのコールバックエラーが発生する

  18. 18

    Officeアドインを使用してOutlookの連絡先のリストにプログラムでアクセスすることは可能ですか?

  19. 19

    モジュラーJava Webアプリケーションを作成する最良の方法は何ですか

  20. 20

    Chromeウェブアプリのウェブビューの高さの問題

  21. 21

    ezdxf pythonパッケージを使用して既存のdxfファイルを変更するにはどうすればよいですか?

ホットタグ

アーカイブ