我有一些.csv文件,我正在使用它作为测试台的一部分.我可以打开它们并且没有任何问题地阅读它们,除非我已经在Excel中打开了文件,在这种情况下我获得了IOException:
System.IO.IOException:进程无法访问文件'TestData.csv',因为它正由另一个进程使用.
这是测试平台的片段:
using (CsvReader csv = new CsvReader(new StreamReader(new FileStream(fullFilePath, FileMode.Open, FileAccess.Read)), false))
{
// Process the file
}
Run Code Online (Sandbox Code Playgroud)
这是StreamReader的限制吗?我可以在其他应用程序(例如Notepad ++)中打开该文件,因此它不能成为操作系统问题.也许我需要使用其他一些课程?如果有人知道如何绕过这个(除了关闭excel!)我会非常感激.
我需要读取可能被锁定的Windows文件,但我不想创建任何类型的锁,以防止其他进程写入该文件.
另外,即使文件被锁定以供独家使用,我也想看看里面有什么.
虽然这不是我的确切用例,但请考虑如何在使用和装载时读取SQL/Exchange日志或数据库文件.我不想导致腐败,但我仍然希望看到文件的内部并阅读它.