如何在文件附加到流时删除它

时间:2016-06-21 06:54:51

标签: c# io stream udp delete-file

我开发了一个UDP客户端控制台应用程序来检索数据包数据并将其写入文本文件。我一直在使用流将数据写入文本文件。由于文本文件是全天写入的,因此无法处理流。这些文件是每天生成的,我需要删除前几天写的文本文件。但是无法删除文件;有一条错误消息说该文件已被其他进程使用。虽然前一天的文件实际上并未实际写入,但它们似乎仍然附加到流中。由于我无法处理或关闭流,是否有可能删除附加到特定进程的旧文本文件?谢谢。

1 个答案:

答案 0 :(得分:1)

您似乎没有正确处理您的信息流。他们在记忆中仍然“活着”。您应该弄清楚是什么让您的流不被垃圾收集。例如,您可以通过在全局属性(或更好的管理器)中保留对所有流的引用以及创建它的DateTime时间戳来实现此目的。这样,通过检查时间戳,您可以识别可以关闭的流。确保您关闭处理您的信息流。

请注意,流是昂贵的资源,应尽量减少使用。