0

Is there any way to read the file if being used by another process?

XmlTextReader reader = new XmlTextReader(inpXMLfileAsString);
4

2 に答える 2

0

考えられる解決策の 1 つは、FileStream クラスを使用してファイルを読み取り専用モードで開き、ストリームをXmlTextReader クラスに渡すことです。

var fileStream = new FileStream("c:\\location\\file.xml", FileMode.Open, FileAccess.Read);
var xmlTextReader = new XmlTextReader(fileStream);

またはFile.OpenRead メソッドを直接使用します。

var xmlTextReader = new XmlTextReader(File.OpenRead("c:\\location\\file.xml"));

ファイルが読み取り専用モードで開かれている場合でも、他のプロセスは通常どおりファイルにアクセスできます。例としては、ログ ファイルが書き込み用に開かれており、何らかの (他の) プロセスによって書き込まれている間に、ログ ファイルを読み取ることが挙げられます。

于 2014-06-04T18:11:43.717 に答える