【发布时间】:2012-02-27 23:40:59
【问题描述】:
目标是定期从另一个程序将文件输出到的文件夹中读取文件,然后将文件提供给我的代码的另一部分。
如何在性能与可读性和简单代码之间取得最佳平衡?
(我需要在 C# 和 Java 中完成此操作。因此需要双重标记,(不,这不是家庭作业 :))
【问题讨论】:
-
在c#中试试
FileSystemWatcher -
效率取决于文件大小和轮询频率。但是,如果编写器使用临时名称(如“file.dat.partial”)写入文件,并且在完成后将其重命名为“file.dat”,您将避免很多痛苦。重命名在所有操作系统中都是原子的。您的投票应该只查看这些非部分文件并在成功获取后将其删除。
-
对于 FileSystemWatcher,请参阅 stackoverflow.com/questions/239988/… 和 stackoverflow.com/questions/960318/…