监控一个文件夹,如果有图片创建,就读取文件流

问题描述

本人用的FileSystemWatcher,但是文件创建的时候读取只能读取到一部分,貌似文件还没有创建完成就读取了,请教各位大神有解决方法吗?谢谢!高分悬赏

解决方案

解决方案二:
绑定元以下!
解决方案三:
延迟一定的时间后再读取
解决方案四:
///<summary>///当文件夹内监控内容发生变化时///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidfsw_Changed(objectsender,FileSystemEventArgse){Thread.Sleep(3000);//readstream}

解决方案五:
看msdn吧,它写得很明白应该如何正确地编程设计。没有事件捕获“文件修改之后关闭”的,你需要自己编程处理。
解决方案六:
延时的方法貌似不行,因为我监控的文件夹里面的图片是通过网络传输的,有的图片大的可能要传很久,也有可能网络原因导致传输时间变长的,难道就没有解决方法吗?
解决方案七:
延迟搞不定,那就进队列呗,然后线程读队列,成功就移除队列,失败就wait
解决方案八:
不可能没有解决方法的事儿,只不过你应该在你处理“传输”的模块去处理,而不是在这里去“监控”。
解决方案九:
如果你一定要捕获这类事件,没有“文件关闭事件”,应也该在抛出changed事件时去处理,而不是在created事件时去处理。
解决方案十:
在msdn中有较清楚的描述,我估计你没有认真看。虽然我不记得原文,但是我肯定它写到了“changed事件会触发很多次”,这正是你需要自己编程判断,你需要在changed中判断事件参数、看看到底是哪一种改变。
解决方案十一:
关键问题是你这个解决方案的问题首先你的图片是怎么创建的,如果是本机从网上下载,那么可以读取方法放到下载文件完成后执行,如果是客户端上传的这个就有点麻烦,因为我不对这方面不是很熟悉所以你应该从其它方面去解决。
解决方案十二:
是不是可以检测文件的完整性,如果文件没有传完文件是不完整的。
解决方案十三:
changed事件会触发很多次
解决方案十四:
读取时设一循环,直到读到的数据长度和文件尺寸一致
解决方案十五:
我个人想到一个方法,就是文件如果还在传输中,说明文件正在使用中,这时候filestream会抛出异常,就是文件正在使用,我决定多线程,每个线程处理一个文件,并使用一个递归函数,如果文件还在使用中说明文件还在传输,还没有传输完毕,这时候就递归,直到这个文件不再被使用,这时候就可以读取stream并传递给外层去使用,现在正在试验,如果不成功的话我再来问,感谢各位大神!!!
解决方案:
貌似还是不行额,这种方法导致了部分文件只传输了一部分,没有传完,难道递归函数导致的吗?按理说文件在传输中的话属于lock状态吧?正在使用为什么我这边做操作会导致文件只传输了一部分呢?

时间: 2024-09-21 19:32:12

监控一个文件夹,如果有图片创建,就读取文件流的相关文章

ios-iPhone-从文件夹中显示图片

问题描述 iPhone-从文件夹中显示图片 显示保存在文件夹中的图片.只返回了文件名字,没显示. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString*patientlastName; NSString*test=@"nicej

脚本-如何把图片移到文件夹中并自动创建文件夹?

问题描述 如何把图片移到文件夹中并自动创建文件夹? 一张图片用一个文件夹装,比如说有100张图片,就自动创建100个文件夹,每个文件夹装一张图片,这功能要怎么实现? 解决方案 java代码可以吗,就这么个逻辑 shell或python应该更简单 public static void main(String[] args) { File file = new java.io.File("/home/jerome/Pictures"); file.getAbsoluteFile(); St

怎么把一个文件夹里多个文件名相同的文件移动到一个文件夹内并新建文件夹以该文件名命名文件夹名称

问题描述 怎么把一个文件夹里多个文件名相同的文件移动到一个文件夹内并新建文件夹以该文件名命名文件夹名称 怎么把一个文件夹里多个文件名相同的文件移动到一个文件夹内并新建文件夹以该文件名命名文件夹名称 解决方案 第一,你要在什么环境下实现 第二,举个例子,更好的说明你的问题 第三,去找度娘 解决方案二: 刚开始看见你的问题,头有点大,像是要口令,你用什么语言,完成这样事情啊 解决方案三: win里好像不行吧,百度都解决不了 解决方案四: 用Directory.GetFiles遍历文件夹找到文件,用F

viewpager-怎么把res文件夹下drawable文件夹下的图片保存到本地或者本地相册

问题描述 怎么把res文件夹下drawable文件夹下的图片保存到本地或者本地相册 我有一个项目是需要把res文件夹下的drawable文件夹下的图片保存到本地相册或者SD卡里面 我有一个viewpager 点击当前的图片让其保存到本地相册或者SD卡 我怎么获取当前的drawable? 解决方案 可以给viewpager里面的imageView添加事件,然后进行保存. 保存imageview到本地: http://www.codes51.com/article/detail_151353.htm

怎么用java显示ftp服务器上文件夹中的图片在jsp页面上?

问题描述 怎么用java显示ftp服务器上文件夹中的图片在jsp页面上? ftp在另一台windows上,访问jsp页面要读取并显示出ftp上的图片. ftp上的图片路径保存在数据库中,操作ftp的jar我选了apache的FtpClient. 现在的问题是,action获取到ftp上的文件后,是下载下来再读取成流输出到页面呢?还是直接从FTP获取成流输出到页面?如果有,求思路,最好有代码举例我不想ftp上的文件下载到部署环境上然后再输出到页面,想通过读取ftp的流直接显示到页面,页面关闭后流就

C#如何读取win7操作系统里的文件夹里的图片缩略图?

问题描述 C#如何读取win7操作系统里的文件夹里的图片缩略图?winXP的缩略图是在本文件夹里的有个隐藏文件thumb.db但是win7的缩略图不是存在本文件夹里的.是存在这样的路经下C:UsersAdministratorAppDataLocalMicrosoftWindowsExplorer那么C#如何读取win7操作系统里的文件夹里的图片缩略图?有做过的,解答一下 解决方案 解决方案二:顶个帖解决方案三:帮顶解决方案四:有做过的吗?解决方案五:没做过,人工帮顶

用vb.net自定义控件,可以选择文件夹下的图片并显示图片的名称,怎么做

问题描述 用vb.net自定义控件,可以选择文件夹下的图片并显示图片的名称,怎么做 急求!!!就是就是从文件夹中可以选择图片,但下面要获取图片的名字,比如11.jpg,22.jpg.这不是图片的名字么,要和图片信息一致.从文件夹中选择图片,要用什么语句?是用filename获取文件的名字么,我是菜鸟,完全不知道怎么写〉〉〉...... 解决方案 用openfiledialog 参考:http://www.poluoluo.com/jzxy/200809/45925.htmlhttp://www.

图转换为视频-C# 如何中ffmpeg将指定文件夹中的图片转换为视频(求大神指点)

问题描述 C# 如何中ffmpeg将指定文件夹中的图片转换为视频(求大神指点) C# 如何中ffmpeg将指定文件夹中的图片转换为视频 如题,求命令格式,和详细的命令.

能够把python爬虫抓下来的放在文件夹里的图片设置成超链接吗?

问题描述 能够把python爬虫抓下来的放在文件夹里的图片设置成超链接吗? 就是用python爬了淘宝的图片下来,保存在文件夹里,想把图片设置成超链接,点击图片 就能跳转到商品详情的页面.可行吗?可以的话怎么做?谢谢! 解决方案 这个需要绑定图片的后缀来处理点击事件

编程-怎么才能把一个文件夹内的文件重命名为另一个文件夹里的文件名(两个文件夹内的文件个数相同)

问题描述 怎么才能把一个文件夹内的文件重命名为另一个文件夹里的文件名(两个文件夹内的文件个数相同) 怎么才能把一个文件夹内的文件重命名为另一个文件夹里的文件名(两个文件夹内的文件个数相同) 本来是想用 api之类的 但是没有开放 不能用 就想着直接去读取使用的文件了 一种是 在 文件夹A中 找到一个a1.* 然后直接把文件夹B的 b1.*重命名为a1.* 另一种是 获取文件夹A中的所有文件的文件名列表写入到一个文档中 再给B中的文件逐一重命名 [本人水平比较次 所学过的太基础 网上也找到了一些