【问题标题】:Unable to access a file that was just created [duplicate]无法访问刚刚创建的文件 [重复]
【发布时间】:2013-08-22 18:42:57
【问题描述】:

我的程序包含一个表单和七个用户控件。我正在使用 MS Visual Studio 2010 C# 语言。

我的程序:将 .txt 文件中的所有文本显示到 UserControl 的文本框中。

我的目标:我想检查 .txt 文件是否存在。如果 .txt 文件不存在,则创建它,以便用户可以将一些数据放入 .txt 文件中,然后显示在 UserControl 的文本框中。如果 .txt 文件已经存在,直接将 .txt 文件中的数据显示到文本框中。

我用于检查文件是否存在于 FORM 中的代码:

private void Form1_Load(object sender, EventArgs e)
    {
        string path1 = @"C:\Users\PK\Documents\Visual Studio 2010\ABC.txt";
        if (!File.Exists(path1))
        {
            File.Create(path1);
        }

        string path2 = @"C:\Users\PK\Documents\Visual Studio 2010\DEF.txt";
        if (!File.Exists(path2))
        {
            File.Create(path2);
        }

        string path3 = @"C:\Users\PK\Documents\Visual Studio 2010\GHI.txt";
        if (!File.Exists(path3))
        {
            File.Create(path3);
        }

        string path4 = @"C:\Users\PK\Documents\Visual Studio 2010\JLK.txt";
        if (!File.Exists(path4))
        {
            File.Create(path4);
        }

        string path5 = @"C:\Users\PK\Documents\Visual Studio 2010\MNO.txt";
        if (!File.Exists(path5))
        {
            File.Create(path5);
        }
    }

将文本从 .txt 文件读取到 UserControl 中的 TextBox 的代码:(其余 6 个用户控件和文本框相同。只有 .txt 文件和文本框的名称相应不同。

private void UserControl1_Load(object sender, EventArgs e)
    {
        textBox5.Text = File.ReadAllText(@"C:\Users\PK\Documents\Visual Studio 2010\ABC.txt");
    }

所以,当我运行程序时,我收到以下错误:

IOException 未处理

该进程无法访问文件“C:\Users\PK\Documents\Visual Studio 2010\ABC.txt”,因为它正被另一个进程使用。

那么,我该怎么办?

【问题讨论】:

  • Very Easy to solve 那你为什么不先解决呢?
  • @KingKing:我无法将标题放在首位。所以,我添加了非常容易解决。然后我的问题被发布了。 :)
  • @Smith:- 请检查您的文件是否正在某处使用或当前已打开或正在被任何其他应用程序使用!!
  • @DaveZych:感谢您查看我的问题。是的,错误是一样的。我应该如何摆脱这个错误并让我的程序正常工作?
  • @RahulTripathi:不,所有文件都已关闭。没有其他程序正在使用它。

标签: c# visual-studio-2010 ioexception


【解决方案1】:

原因提到here。你可以试试这个:-

if(!File.Exists(FilePath)){
    File.Create(FilePath).Close();}
    File.WriteAllText(FileText);

【讨论】:

  • 谢谢拉胡尔!它有效..这很简单..你太棒了! :)
  • @Smith 如果这篇文章解决了您的问题,请将其标记为答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-28
  • 1970-01-01
  • 2012-02-17
  • 1970-01-01
相关资源
最近更新 更多