可能扫描软件中设置了自动框选,先取消自动框选功能试下
另外,根据使用经验发现部分扫描仪自带的扫描软件存在一些缺陷,通过更改其默认设置不一定能完全解决你的这种问题
你对这个回答的评价是?
问题描述的不够精确略作猜测,供参考
分好几如何哆个文件一起发,各文件扩展名是什么
应该是扫描软件的设置问题,如果是高级扫描或启用自动OCR辨识就会产生多如何多个文件一起发以備使用检查看看。一般情况下扫到的是图像文件(*.bmp, *.jpeg, *.tff等其中一种)
你对这个回答的评价是?
我的也是这样子啊问题解決了吗,请教怎么解决的
你对这个回答的评价是?
因为业务需求需要多个进程同时访问某如何多个文件一起发并进行读写操作的需求,因为文件并不是被同一个进程访问而且极大可能会发生多进程争抢文件句柄的情况,如果在同一个进程里不同的线程访问或许还能使用线程锁的方式控制,但是跨进程时就无法解决网上询问解决方法基本上都类似Linux里日志文件服务一样,建立一个独立的文件操作服务由文件操作服务来控制不同进程对同一如何多个文件一起发的访问。但是这样改动量就比较大而且因为不同的程序可能是由不同的语訁编写的,比如J***A和C#而不同的语言访问window服务可能都有局限性(部署更是个大问题因为window服务需要最高的system权限运行),更重要的是如果一个程序需要平凡读写文件每次读写前必须绕一层服务效率上大打折扣,所以此方法并未采纳
为了解决不同开发工具开发和效率所带来的问題,我不得不设计一种较简单实现又不用太过修改代码的方法。参考vss想到为什么不能在每次文件读写前先将文件签出?但是如何保证簽出后的文件其他进程无法都写呢一个方法是建立一个签出服务,这个不行原因前面已经提过于是考虑最简单的方法,也就是每次读寫文件前先改文件的扩展名
改扩展名的方法非常简单,也不难实现现在程序访问文件前,都必须用原文件名改名为包含签出扩展名的噺文件名(现实中会将文件扩展名改为.ck)其他进程只会访问那些不是.ck为扩展名的文件。
1) 程序首先得到需要访问的原文件名(比如Test.xml)
2) 使用原文件名作为基础改名为签出文件名(比如Test.ck)
3) 因为同一时间只可能有一个进程能够修改文件名,所以当一个进程抢先与另一个进程修改了文件那另一个进程再次使用原文件名(Test.xml)将无法访问到这如何多个文件一起发(因为文件名已经被修改为Test.ck)而报错(可以屏蔽這个错误),如果修改成功则表示文件已经被你签出你可以继续使用新的文件名对文件进行修改。其他进程如果使用原文件名将无法访問这如何多个文件一起发
4) 处理完数据后将文件扩展名改回原文件名(Test.xml)
原理和写数据库时抢锁类似,每次访问文件前都必须首先改名(抢锁)只有抢到锁的进程才能进行后续操作。否则则等待其他进程释放锁