嗨,我遇到了一些麻烦,我是想知道如何在一个新的线程读取XML文件,继承人基本上就是我想要做的事:在新线程中打开XML文件?
//This is ran when the user presses the Enter Key
Thread LoadThread = new Thread(new ThreadStart(Test));
LoadThread.Start();
private static void Test()
{
FileStream stream = File.Open("TEST_1.xml", FileMode.Open);
//----
// Code Using File (I know this stuff works)
//----
stream.Close();
}
这里的错误。
Directory \ TEST_1.xml',因为它正在被另一个进程使用。
但是,当它不是它自己的线程它工作正常吗?
感谢您的帮助,如果这样做不能这样做,我怎么能打开文件没有它让我的程序冻结,直到文件已被打开?
再次感谢。
您是否在使用进程资源管理器查看当您尝试读取文件时锁定了哪些文件? – RQDQ 2012-01-13 03:19:10
@Dusy - 尝试在非线程方法中打开该文件并查看会发生什么? – adatapost 2012-01-13 03:31:51
把'try'' catch'块和close流放在'finally'块中。 'finally {stream.Close(); }'也尝试'stream.Flush();'&'stream.Dispose();'这有帮助吗? – 2012-01-13 04:37:41