IOException 是未处理的 C#


static void Main(string[] args)
    {
        File.Create("Script.txt");
        execute();
        Console.ReadKey();
    }
 static void execute()
    {
        if (File.Exists("Script.txt"))
        {
            string[] codex = System.IO.File.ReadAllLines("Script.txt");
            foreach (string i in codex)
            {
                Console.WriteLine("{0} ", i);
            }
        }
        else
        {
            Console.WriteLine("The path does not exists.");
        }
    }

我尝试了此代码,但出现此错误。在mscorlib.dll

更改

File.Create("Script.txt"); 

using (File.Create("Script.txt")) {}

流将被关闭,您的

System.IO.File.ReadAllLines("Script.txt");

将正常工作。

函数 File.Create(字符串文件名( 返回一个打开的流。

阅读之前,您应该在里面写一些东西。然后,您必须在调用 File.ReadAllLines 之前关闭流。

文档可以在这里找到:(文件.创建(https://msdn.microsoft.com/en-us/library/d62kzs03(v=vs.110(.aspx

文档可以在这里找到:(File.ReadAllLines(https://msdn.microsoft.com/en-us/library/dd383503(v=vs.110(.aspx

File.Create将获取它刚刚创建的文件的独占锁。

在通过调用.Dispose().Close()释放锁定之前,其他调用方将无法访问该文件

但是,我建议您使用StreamWriter并将其包装在用于您的案例的用途中

using(StreamWriter sw = new StreamWriter("file name"))
{
    //do something
}