首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误“System.IO.IOException类型的未处理异常在mscorlib.dll中发生”

错误“System.IO.IOException类型的未处理异常在mscorlib.dll中发生”
EN

Stack Overflow用户
提问于 2016-02-11 17:41:52
回答 1查看 3.6K关注 0票数 1

我搞错了

System.IO.IOException类型的未处理异常发生在mscorlib.dll中 附加信息:进程无法访问文件>'c:\Tvarkarastis\Tvarkarastis.txt‘,因为它正在被另一个进程使用。

当我试着用

代码语言:javascript
复制
private void sukurtiFailąToolStripMenuItem_Click(object sender, EventArgs e)
    {
        string pathString = System.IO.Path.Combine(@"c:\", "Tvarkarastis");
        System.IO.Directory.CreateDirectory(pathString);
        string fileName = "Tvarkarastis.txt";
        pathString = System.IO.Path.Combine(pathString, fileName);
        System.IO.File.Create(pathString);
        richTextBox1.Clear();
        pathString = System.IO.Path.Combine(@"c:\Tvarkarastis", "Tvarkarastis.txt");
            string[] lines = { "First line", "Second line", "Third line" };
            richTextBox1.AppendText("Prašome atsidaryti failą ir jį pakeisti. Failas yra : " + pathString + Environment.NewLine);
            System.IO.File.WriteAllLines(pathString, lines);
        }

这个函数尝试创建一个文件并写入它。函数在禁用写入和只保留文件创建的情况下工作。我对编码很陌生,所以请原谅,如果代码或我的解释中有什么愚蠢的地方。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-11 17:46:42

当使用File.create()为新文件生成一个FileStream时,该文件在创建时会被锁定,在创建文件时,您应该在using指令中创建该文件,然后从那里继续您的代码:

代码语言:javascript
复制
        using (StreamWriter sw = new StreamWriter(File.Create(pathString)))
        {
            richTextBox1.Clear();
            string[] lines = { "First line", "Second line", "Third line" };
            richTextBox1.AppendText("Prašome atsidaryti failą ir jį pakeisti. Failas yra : " + pathString + Environment.NewLine);
            foreach (var line in lines)
            {

                sw.WriteLine(line);
            }
        }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35346362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档