当我尝试从一个文件复制到另一个文件时,会生成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");
}
}
您需要关闭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
块将为您处理此问题。