2012-07-26 73 views
4

某个文本文件被另一个进程持续占用以更新其内容,并且我需要我的应用程序一次性清除其内容。我想FileStream的fileshare.ReadWrite属性可能是有用的,但我不是100%确定。如何清除另一个进程正在使用的文本文件

如何清除另一个进程拥有的文本文件?

+15

这取决于打开文件时使用的其他进程的标志。如果它专门锁定它,你可以简单地忘记从你的进程中修改这个文件,而不会终止释放句柄的拥有进程。另一种可能性是修改另一个进程,以便它在打开句柄时不锁定文件。 – 2012-07-26 14:03:41

+0

@DarinDimitrov可能无法正常工作。假设另一个进程已经分配了文件大小N并正在写入文件末尾,他不能截断它,对吧? – 2012-07-26 14:05:02

+0

@ChrisShain,正如我所说的,这将取决于打开该文件的句柄时其他进程使用的标志。 – 2012-07-26 14:06:04

回答

0

为什么不使用空字符串覆盖txt文件?

System.IO.File.WriteAllText("filepath to the txt doc", emptystring make sure to initialize); 
+1

我怀疑问题在于OP无法获得对该文件的写入权限,因此无法删除或覆盖 – Basic 2012-07-27 16:26:45

相关问题