C# 写文件的时候appendtext总提示另一进程正在使用该文件
我先打开一个“另存为”对话框
if (b_folderName2 != null)
{
jiaoz2();
}
else
{
saveFileDialog2.InitialDirectory = MainForm.root;
saveFileDialog2.RestoreDirectory = true; //在关闭时不恢复当前目录
saveFileDialog2.Title = "设置公式2标定文件储存路径";
saveFileDialog2.Filter = "(*.*)|*.log;*.ini;*.txt";
if (saveFileDialog2.ShowDialog() == DialogResult.OK)
{
createFile2();//这个调用方法里面有一个写文件的操作createFile()
}
}
创建文件在对话框里
private void saveFileDialog2_FileOk(object sender, CancelEventArgs e)
{
b_folderName2 = saveFileDialog2.FileName;
if (!File.Exists(b_folderName2))
{
File.Create(@b_folderName2);
}
}
//写文件的方法
private void createFile2(List<double> xishu)
{
FileInfo fi = new FileInfo(@b_folderName2);
StreamWriter w;
if (fi.Exists)
{
w = fi.AppendText();
for (int i = 0; i < xishu.Count; i++)
{
w.Write(xishu[i] + ",");
}
w.WriteLine();
w.Flush();
w.Close();
}
}
每次都是在 w = fi.AppendText();这里提示“文件正在被另一进程使用。。。”
不知道问题出在什么地方,有时候操作的慢一点,也有可能写入文件成功,哎,不懂啊
顺便给我介绍介绍文件读写常用的方法吧,多谢啦1
------解决方案--------------------
C# code
using (StreamWriter sw = fi.AppendText())
{
sw.WriteLine("This");
sw.WriteLine("is Extra");
sw.WriteLine("Text");
}
------解决方案--------------------
记得关闭 流啊