C# 未处理系统IO异常

C# 未处理系统IO异常,c#,csv,io,streamwriter,C#,Csv,Io,Streamwriter,我正在尝试用C#开发我的第一个应用程序,我只是尝试从一个文件读写。我做了几个小时的研究,有导师试图教我,但这对我来说毫无意义 我已经列出了表单的开头,我认为这是我正在使用的StreamWriter的正确语法,但是文件名似乎在另一个过程中使用,我不知道是哪个过程。以下是我正在使用的代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using Syst

我正在尝试用C#开发我的第一个应用程序,我只是尝试从一个文件读写。我做了几个小时的研究,有导师试图教我,但这对我来说毫无意义

我已经列出了表单的开头,我认为这是我正在使用的StreamWriter的正确语法,但是文件名似乎在另一个过程中使用,我不知道是哪个过程。以下是我正在使用的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace CustomerApplication
{
    public partial class AddCustomerForm : Form
    {
        public AddCustomerForm()
        {
            InitializeComponent();
        }
    private void saveAndExitBtn_Click(object sender, EventArgs e)

    {
        StreamWriter sw = File.AppendText("test.csv");


           sw.WriteLine("Test for Hope");

        // next, retrieve hidden form's memory address
        Form myParentForm = CustomerAppStart.getParentForm();
        // now that we have the address use it to display the parent Form
        myParentForm.Show();
        // Finally close this form
        this.Close();
    }// end saveAndExitBtn_Click method
这是Visual Studio不喜欢的行:

StreamWriter sw = File.AppendText("test.csv");
提前感谢您的时间

~TT

这里的猜测(基于但文件名似乎在另一个进程中使用)-您打开文件进行写入,但从未关闭它。因此,当您稍后再次尝试写入时,它失败了

请注意,如果在其他应用程序(例如记事本)中打开文件,也可能发生这种情况

您应该将流的创建放在中,以确保在完成对其的操作时关闭它:

using(StreamWriter sw = File.AppendText("test.csv")
{
    sw.WriteLine("Test for Hope");

    ...
}

你确定你没有在其他地方打开文件吗?例如,在进入该代码行之前,您可以尝试手动删除该文件,以查看是否有某个进程保留该文件。我把它打了进去,它成功了。但我建议将Streamwriter包装在using语句中,并使用FileInfo对象。FileInfo对象上有一些很好的属性,就像您可以测试文件是否存在一样。你也可以这样做

FileInfo fi = new FileInfo("C:\\test.csv");

if (fi.Exists)
  using (Streamwriter sw = fi.AppendText())
  {
     sw.WriteLine("tst");

     sw.Close();
  }

例外情况是什么?是否
test.csv
在可执行文件所在的目录中?+1请发布异常。另外,你所说的
文件名似乎在另一个进程中使用,我不知道这是什么意思。
还有什么事情发生了?@JamesEkema-这可能是来自异常消息,表明用户没有正确关闭流。谢谢大家的回答。没有更多的错误,但现在我很好奇如何让用户在表单中的输入写入到文件中,而不仅仅是我的WriteLine代码将信息写入到文件中。然后我需要知道如何以正确的格式读取该文件。这是一个如此简单的任务,但如此复杂,我的大脑感觉它要爆炸了!“我希望我有你所有的经验……”杰克图利-听起来你应该问一个新问题;)