这是我用来写入和读取文本文件的代码。
StreamWriter sw1 = new StreamWriter("DataNames.txt");
sw1.WriteLine(textBox1.Text);
sw1.Close();
StreamWriter sw2 = new StreamWriter("DataNumbers.txt");
sw2.WriteLine(textBox2.Text);
sw2.Close();
FileInfo file1 = new FileInfo("DataNames.txt");
StreamReader sr1 = file1.OpenText();
while (!sr1.EndOfStream)
{
listBox1.Items.Add(sr1.ReadLine());
}
FileInfo file2 = new FileInfo("DataNumbers.txt");
StreamReader sr2 = file2.OpenText();
while (!sr2.EndOfStream)
{
listBox2.Items.Add(sr2.ReadLine());
}
问题是,当我单击我的按钮将数据从我的文本框保存到我的文本文件时,会出现一个错误,提示“进程无法访问文件 'C:\xxxx\xxxxxx\xxxxx\xxxx\xxxxx\xxxxx. txt',因为它正被另一个进程使用。”
谁能告诉我为什么会出现这个错误,也许可以帮我解决这个问题
最佳答案
尝试在您的流周围添加一个using
语句以确保它们是Disposed
否则文件仍被锁定到流
例子:
//Write
using (StreamWriter sw1 = new StreamWriter("DataNames.txt"))
{
sw1.WriteLine(textBox1.Text);
}
using (StreamWriter sw2 = new StreamWriter("DataNumbers.txt"))
{
sw2.WriteLine(textBox2.Text);
}
// Read
foreach (var line in File.ReadAllLines("DataNames.txt"))
{
listBox1.Items.Add(line);
}
foreach (var line in File.ReadAllLines("DataNumbers.txt"))
{
listBox2.Items.Add(line);
}
关于c# - 将文本框中的数据写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14246216/