【发布时间】:2016-12-22 13:32:20
【问题描述】:
需要注意这一点。
void testSave()
{
fileName = curMonth.Text + curYear.Text + ".csv";
if (!File.Exists(path+fileName))
{
File.Create(path + fileName);
}
else if (File.Exists(path + fileName))
{
try
{
lines = curDate.Text + "," + myDesc.Text + "," + myAmount.Text;
File.AppendAllText(path + fileName, lines + Environment.NewLine);
TextWriter tw = new StreamWriter(path + fileName, true);
tw.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
错误如下:
该进程无法访问文件“C:\Users...\File.csv”,因为它正被另一个进程使用。
我可以参考任何建议或解决方案吗?谢谢
【问题讨论】:
-
可以删除除
File.AppendAllText之外的所有代码行。您无需检查文件是否存在并手动创建文件。File.AppendAllText如果文件不存在则创建它。你也没有对你的TextWriter做任何事情——它只是打开一个文件并关闭它而不写入它。 -
我想检查文件是否存在,因为如果那是新文件,我想在数据进入之前添加一些标题,如果有什么办法吗?