注册 登录
编程论坛 VB.NET论坛

vb.net 读取文件夹内文件

peterxuv 发布于 2017-12-19 22:03, 4879 次点击
请教个问题。

我想读取文件夹中的文件,这个文件夹中的文件再不断的增加,我每次读取怎么才能做到不重复读取已经读取过的文件?
程序在一直扫描。

谢谢!
8 回复
#2
HVB62017-12-20 16:31
建议:
1、第一次读取的文件放入一个“TXT”或“Word”或“Excel”文件中;
2、以后每次读取的文件放入的一个数组中,数组中的文件与放入的“TXT”或“Word”或“Excel”文件中
的文件数据比较,不重复的文件则读取,然后把数组中的文件替换“TXT”或“Word”或“Excel”文件中的数据,如此重复即可。
#3
peterxuv2017-12-20 17:02
回复 2楼 HVB6
感谢回复。
如果这个文件夹中有几万个或者几十万个文件的话,怎么才能做到扫描效率最高?
#4
HVB62017-12-21 11:14
您编个程序试试不就知道了?
#5
peterxuv2017-12-24 12:43
请高手帮一下忙,给个思路,谢谢!
逐个读取数十万个文件太慢了
#6
HVB62017-12-25 09:44
回复 5楼 peterxuv
是每天还是每小时读取数十万个文件?是什么文件?每个文件读取多少数据?

[此贴子已经被作者于2017-12-25 09:46编辑过]

#7
zhangcanwei2018-01-16 10:34
根据文件的时间属性来读取不行吗。将时间属性精确到毫秒。每次读取度记住时间,下次读取时,只要不超过设定时间的,就不要再去读取了

[此贴子已经被作者于2018-1-16 10:35编辑过]

#8
xiangyue05102018-01-19 11:26
也可以从你这个文件夹下不断增加的文件下手,当然如果是你可控的。
生成文件名可以是编号,也可以是时间。
否则只能将文件清单、读取状态放在数组或者数据库中,不断的更新
#9
zcsor2018-02-05 11:55
1、FileSystemWatcher监视文件夹中新增文件。
2、在程序内构建hashset存储全部文件的完整路径,这个东西查找是否存在快很多。
推荐还是一直监视文件变化,只要未处理文件在一个先进先出集合里面就可以了,有新增就添加到集合末尾,然后不断弹出一个处理一个,空了就等待。当然着你要保证程序一直在正确运行。
PS:每次枚举文件夹中的文件很慢的,尤其是文件量大的时候。

1