当我尝试从一个文件复制到另一个文件时,会生成IO异常

本文关键字:文件 另一个 异常 IO 复制 一个 | 更新日期: 2023-09-27 18:28:30

我创建了一个空文件,并尝试将现有文件中的内容复制到新创建的文件中。当我这样做的时候,我得到了IOexception

private void button1_Click(object sender, EventArgs e)
    {
        String test = textBox1.Text.ToString();
        if (string.IsNullOrEmpty(textBox1.Text))
        {
            MessageBox.Show("Enter the filename");
        }
        else
        {
            StreamWriter File = new StreamWriter(test);
            MessageBox.Show(test + " Has been created");
        }
    }
private void button2_Click(object sender, EventArgs e)
    {
        String test = textBox1.Text.ToString();
        try
        {
            File.Copy(@"D:''Study this.txt", test);
        }
        catch (IOException)
        {
            MessageBox.Show("IO error occured");
        }
    }

当我尝试从一个文件复制到另一个文件时,会生成IO异常

您需要关闭Stream,因此在else语句中添加File.close();这将释放新创建的文件。代码的这一部分现在看起来是这样的:

StreamWriter File = new StreamWriter(test);
File.Close();
MessageBox.Show(test + " Has been created");

StreamWriter File = new StreamWriter(test);行替换为以下

using (File.Create(test)) ;

或使用

using (StreamWriter writer = new StreamWriter(test)){}

上述更改的原因是您需要在复制之前正确关闭打开的流对象。

using块将为您处理此问题。