VB如何读取File1.filelistBOX中的所有txt文件?
VB如何读取File1.FILELISTBOX中的所有txt文件?我要检测该目录下所有TXT文件是否含有指定字符。请问是遂一读取检测快?还是将该目录下所有TXT文件读入一...
VB如何读取File1.FILELISTBOX中的所有txt文件?
我要检测 该目录下所有TXT文件是否含有指定字符。请问是遂一读取检测快?
还是将该目录下所有TXT文件读入一个总的变量(即可合一个变量或合成一个txt文件)
再检测快??
如果我要将File1.FILELISTBOX中所有TXT(这里面也只有txt)文件,都合成一个字符串变量代码怎么写?
能像listbox一样么:
Text2.Text = Text2.Text & ListBox1.List(i)
?
2---
实际上我要读的TXT文档都是 时间为前缀 &自动保存,txt,即同时要防止不是我要的TXT文件。
我刚发贴后我一会我就想到怎么弄了,
For i = 0 To File1.ListCount
Dim aa As String * 1 '读取文件
Dim aaa
Open File1.List(i) For Input As #1
Do While Not EOF(1)
aa = Input(1, #1)
aaa = aaa + aa
Loop
Close #1
Text1 = Text1+aaa
Next
读取文件时用 File1.List(i) 来作为路径,取得第一个文本所有字符 ,再循环取第二个(第i个)文件字符 加上。我有急事走开,还没来得及测试,请先帮我看是否如此!
测试后在Open File1.List(i) For Input As #1出错,何解?
3-----
我知道了,是应该For i = 0 To File1.ListCount-1 或者加入 If Text2.Text <> "" Then就成功了。原来是第一调试出错时就直接复制一楼的,没注意看到他上面没有-1。 展开
我要检测 该目录下所有TXT文件是否含有指定字符。请问是遂一读取检测快?
还是将该目录下所有TXT文件读入一个总的变量(即可合一个变量或合成一个txt文件)
再检测快??
如果我要将File1.FILELISTBOX中所有TXT(这里面也只有txt)文件,都合成一个字符串变量代码怎么写?
能像listbox一样么:
Text2.Text = Text2.Text & ListBox1.List(i)
?
2---
实际上我要读的TXT文档都是 时间为前缀 &自动保存,txt,即同时要防止不是我要的TXT文件。
我刚发贴后我一会我就想到怎么弄了,
For i = 0 To File1.ListCount
Dim aa As String * 1 '读取文件
Dim aaa
Open File1.List(i) For Input As #1
Do While Not EOF(1)
aa = Input(1, #1)
aaa = aaa + aa
Loop
Close #1
Text1 = Text1+aaa
Next
读取文件时用 File1.List(i) 来作为路径,取得第一个文本所有字符 ,再循环取第二个(第i个)文件字符 加上。我有急事走开,还没来得及测试,请先帮我看是否如此!
测试后在Open File1.List(i) For Input As #1出错,何解?
3-----
我知道了,是应该For i = 0 To File1.ListCount-1 或者加入 If Text2.Text <> "" Then就成功了。原来是第一调试出错时就直接复制一楼的,没注意看到他上面没有-1。 展开
2个回答
推荐于2016-07-30
展开全部
File1.Path = "d:\360"'设置路径
File1.Pattern = "*.txt"'匹配 txt 文件
For i = 0 To File1.ListCount
'处理文件 File1.list(i) 为文件名
Next
似乎是遂一读取检测快,因为有时文件未完全读取完,就已经找到答案了。
不需要读取所有的文件。
更多追问追答
追问
我刚发贴后我一会我就想到怎么弄了,
Dim aa As String * 1 '读取文件
Dim aaa
For i = 0 To File1.ListCount
Open File1.List(i) For Input As #1
Do While Not EOF(1)
aa = Input(1, #1)
aaa = aaa + aa
Loop
Close #1
Text1 = Text1+aaa
Next
追答
Dim aa As String * 1 '读取文件
Dim aaa
For i = 0 To File1.ListCount-1
Open File1.List(i) For Input As #1
Do While Not EOF(1)
aa = Input(1, #1)
aaa = aaa + aa
Loop
'逐个查找文本
if instr(aaa,keyword)<>0 then
msgbox "found " & keyword & " in " & file1.list(i)
end if
Close #1
Next
嗯,我看到你已经找到了读取字符串的方法。
其实不用显示出来到 text1,直接对 aaa 进行判断就知道有没有了。
接下来 用 instr()函数就可以判断了。
比如 instr(text1,keyword) 就可以了,如果 返回值不为零就表示包含此字符串,第一次出现的位置就是 instr(text1,keyword)
展开全部
代码如下
private sub form_load()
dim path as string
dim mystring as string '这就是您想要的指定字符
my string = "a.txt"
path = dir("c:\")'您的目录
do while len(path) > 0 '开始循环列出c盘下的文件
if right(path,4) = ".txt" then msgbox path '这就是过滤出来的txt文件
'if path = mystring then msgbox "已经找到目标!" 这就是您说的是否含有指定字符
path = dir() '继续下一个文件
loop
end sub
以上能够摆脱FILELISTBOX,读取txt文件,列出一个文件夹下想要的文件。
追问
但实际上我要读的TXT文档都是 时间为前缀 &自动保存,txt,也就是说 同时要防止有些不是我要的TXT文件, 那么是不是改成 if right(path,8) = "自动保存,txt" then msgbox path ?
这种快还是我刚才追问(或补充)的那种快呢?
上面方法不对啊,是不全盘搜索的??
我搜一个只有某个TXT文件里面才有字符,却还是跳出其也文档名
追答
正确,这种方法适用于指定的目录遍历文件,全盘搜索文件的话那网上的举例就很多了
应该改成:
if right(path,8) = "自动保存.txt"
这样应该不会跳出其他的文档呀?此代码的解释为检测path字符串右边8个的值是否为“自动保存.txt”
此代码并未经过VB6.0调试,有错误敬请指出,谢谢!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |