当前位置: 代码迷 >> J2EE >> java 定时读取图片解决方案
  详细解决方案

java 定时读取图片解决方案

热度:66   发布时间:2016-04-22 02:14:25.0
java 定时读取图片
我指定一个文件夹,比如 D:/pic/20111026/图片
图片不停的传到此文件夹

我想隔10分钟,扫描一次D:/pic 这个文件夹,如果发现现面有我的要图片,就移动别的地方,比如E:/pic

我想到的只是遍历目录的方法,可是当你遍历目录时,当文件好多时,可能你10分钟还没移动完所有的图片,下一个10分钟又开始扫描了,这样好像会出问题的!
求高手指导下,如何做时时上传


------解决方案--------------------
我有个想法,你可以试试把图片文件名都改成时间戳,然后这些文件名存到数据库中,时间戳当主键,在搞一列是文件实际的名字,你遍历的时候,扫一遍数据表就行,会比扫描文件快些。。
------解决方案--------------------
就是一个队列的问题,其实实时上传,你可以上传一个文件到临时目录(即你所谓的D:/pic/20111026/)这时(1)发送一个消息到消息服务器(类似mq之类的),(2)mq在通知一个程序,对这个图片做你想要的处理,处理完后,(3)发送消息给mq,(4)mq在通知你上传的这端,当然你也可以只做1,2两个步骤。这样做的好处是mq已经实现队列的工作,你不需要额外开发,而且对消息基本也有保障不丢失。

按你的定时扫描处理的话,可以加线程同步。


  相关解决方案