【发布时间】:2023-04-04 12:40:01
【问题描述】:
我开发了一个 UDP 客户端控制台应用程序来检索数据包数据并将它们写入文本文件。我一直在使用流将数据写入文本文件。由于全天都在写入文本文件,因此无法处理流。这些文件是每天生成的,我需要删除前几天写的文本文件。但无法删除文件;有一条错误消息指出该文件已被另一个进程使用。尽管目前尚未实际写入前一天的文件,但它们似乎仍附加到流中。由于我无法处理或关闭流,是否有可能删除附加到特定进程的旧文本文件?谢谢你。
【问题讨论】:
-
是什么阻止了您在当天写完数据流后处理流?
-
@Baldrick - 它与项目的整体功能有关。我在文本文件中写入加密数据并通过单独的 Windows 窗体应用程序将它们解密回来。加密和解密过程都使用相同的加密密钥,为了保持过程一致,我必须保持相同的流。正如您所建议的那样,我试图在一天结束时处理流,但它通过导致损坏(解密)的数据影响解密过程。谢谢。
-
您似乎遇到了一个设计问题,您正试图通过一种不明智的方式来解决问题。我强烈建议重新设计您的加密机制,以便您能够正确清理文件流。如果一个文件以这种方式被锁定,windows 不会让你删除它。
标签: c# io stream udp delete-file