我用以下代码写了创建并写入的 文本文件
internal bool SaveText(string textInfo, string path)
{
try
{ File.AppendAllText(path, textInfo + "\r\n", Encoding.GetEncoding("gb2312")); }
catch (Exception err)
{
MessageBox.Show(err.Message);
return false;
}
return true;
}
之后我想马上对该文件进行删除 用
FileInfo fileInfo = new FileInfo(filePath);
try
{
fileInfo.Delete();
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
老提示文件被另一线程占用,删除不成功,请问怎么释放控制呢?弄了好久...郁闷ing
internal bool SaveText(string textInfo, string path)
{
try
{ File.AppendAllText(path, textInfo + "\r\n", Encoding.GetEncoding("gb2312")); }
catch (Exception err)
{
MessageBox.Show(err.Message);
return false;
}
return true;
}
之后我想马上对该文件进行删除 用
FileInfo fileInfo = new FileInfo(filePath);
try
{
fileInfo.Delete();
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
老提示文件被另一线程占用,删除不成功,请问怎么释放控制呢?弄了好久...郁闷ing
fileInfo.close();
File.AppendAllText("c:\\1.doc", "hahaha");
File.Delete("c:\\1.doc");
这样是成功的!没有出现线程占用的问题,你是否是在append了以后又做了什么占用方式的打开操作,然后没有关闭释放?
关闭进程也没有用,我用的是Abort()方法关闭,后来使用 GC.Collect()强制回收才解决的。