首页 / C# / c# – 如何以编程方式删除文件?
c# – 如何以编程方式删除文件?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何以编程方式删除文件?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1455字,纯文字阅读大概需要3分钟。
内容图文
下面是我用来关闭应用程序及其关联进程以及删除在使用应用程序期间提取的所有文件的代码:
private void Quit_Click(object sender, RoutedEventArgs e) //close the application
{
//kill cinector after all import is done
Process[] processes = Process.GetProcesses();
for (int i = 0; i < processes.Count(); i++)
{
if (processes[i].ProcessName.ToLower().Contains("CinectorProcess"))
{
processes[i].Kill();
}
}
//also kill powerpoint just in case
for (int i = 0; i < processes.Count(); i++)
{
if (processes[i].ProcessName.ToLower().Contains("powerpnt"))
{
processes[i].Kill();
}
}
//kill the engine
ShutdownEngine();
//kill the main app
App.Current.Shutdown();
//also delete all three folders
//slides_png_prev
if (Directory.Exists(slides_png_prev))
{
Thumbnails = null;
Directory.Delete(slides_png_prev, true);
}
//slides_png
if (Directory.Exists(slides_png))
{
Directory.Delete(slides_png, true);
}
//slides_png_prev_seleect
if (Directory.Exists(slides_png_prev_seleect))
{
Directory.Delete(slides_png_prev_seleect, true);
}
}
但问题是,当它尝试删除文件(这是应用程序中某处使用的图像)时,它会显示以下异常:
“The process cannot access the file because it is being used by another process.”
更新:
我发现进程’Mastersolution.vhost.exe’正在保存我尝试删除的所有文件. Mastersolution实际上是我在App.Current.Shutdown()行上关闭的主要应用程序;因此,在删除文件之前,我需要以某种方式断开文件与主应用程序的连接.但是锄头要做到这一点?
解决方法:
将文件存储在临时目录中,让操作系统处理它.
见Path.GetTempPath和Path.GetTempFileName.
内容总结
以上是互联网集市为您收集整理的c# – 如何以编程方式删除文件?全部内容,希望文章能够帮你解决c# – 如何以编程方式删除文件?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。