如何判断文件已生成完成, 急?

hehongyu2000 2002-01-31 08:29:48
我有一个A程序和一个B程序, A程序要生成文件到一个文件夹Out, B程序一直在监视Out文件夹, 只要Out文件夹有新东西就将它搬到Working文件夹去, 现在的问题是, A程序生成一个文件是要一段时间的, 当Out文件价有文件时, 这个文件可能还没生成完, 但B程序立即就将他Copy到了Working文件夹, 结果Copy了一个0 byte的文件过去, 请问各位大哥, 如何判断一个文件已生成完(或如何判断一个文件没被其它程序操作)? 谢谢!
...全文
199 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hehongyu2000 2002-02-01
  • 打赏
  • 举报
回复
谢谢大家!
my_bluesky 2002-01-31
  • 打赏
  • 举报
回复

如何得到文件的大小?
taozai 2002-01-31
  • 打赏
  • 举报
回复
你可以在A程序中发送消息给B程序,生成的文件是否结束。
还有一种是你可以先得到已存在文件的字节大小,然后实时监控该文件字节大小是否改变,如果改变了就说明这个文件正在被其他程序使用,等到这个文件的字节大小有一段时间不改变,说明文件已经生成结束,这就可以copy了。
gigix 2002-01-31
  • 打赏
  • 举报
回复
A程序在生成的时候以独占方式打开文件,B程序检查到有新文件的时候尝试用独占方式打开一下。如果能打开,则说明生成过程已经完成,文件可以copy;如果打不开,说明文件还被A程序占住,再等一段时间再试。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧