为何会发生“实时错误 62 输入超出文件尾”?

ftmm123 2011-05-13 07:47:56
c:\temp1111.txt里面有几百行内容是绝对路径,有的文件路径很长可能会带中文名或者空格,例如;
"c:\111.txt"
"c:\11\22\我\哈哈_11\progra file\commmff\ffff\fff ss\22.lsp"
......




Open "c:\temp1111.txt" For Input As #6  打开第一个文件
Open "c:\temp111.txt" For Output As #7 建立第二个文件。

Do While Not EOF(6)
Line Input #6, content '逐个读取c:\temp1111.txt的文件路径
bb = strReplace(content) ' 把路径去掉”号。把文件路径赋值给bb
aaaa = FileLen(bb) ' 判断bb的文件大小
If aaaa > 200000 Then '大于200k的删除,

DeleteFile bb '大于200k的删除,


Else

'On Error Resume Next
Open bb For Input As #8 ‘ 逐个打开 每一行的的具体文件.注意,如果没有这一段open,整个程序是完全能正常执行!!!!
On Error Resume Next ' 这里如果加入,就不会出错,但是处理结果不正确。否则就会出现“实时错误 62 输入超出文件尾”?
Line Input #8, content1 ‘出错的就是这一句!!!!!!!!!!! 读取文件的第一行
If content1 <> "AutoCAD PROTECTED LISP file" Then '如果第一行不是这句,那么就文件路径写入temp111.txt中
Print #7, bb 把bb这个具体的绝对路径写入 7中
Close 8
Else
End If



End If




Loop
Close #6, #7
...全文
1046 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ftmm123 2011-05-13
  • 打赏
  • 举报
回复
非常感谢,实际上是当bb 很大,或者为0的时候会出错,我又加了一个cc,只有当大于0或者小鱼200k的时候才赋值给cc,即可。
erdong988 2011-05-13
  • 打赏
  • 举报
回复
试一下不就知道了...
试了,就报 62 的错,自己看着处理吧
ftmm123 2011-05-13
  • 打赏
  • 举报
回复
open 打开空白文件的时候会出错么?
erdong988 2011-05-13
  • 打赏
  • 举报
回复
哦.....是不是有的文件里面没内容啊??
ftmm123 2011-05-13
  • 打赏
  • 举报
回复
实际上,打开第一个文件中,在里面读取了几百个文件的路径,然后,这几百个文件每个都要判断。
erdong988 2011-05-13
  • 打赏
  • 举报
回复
打开两个文件,两个都要判断啊

Do While Not EOF(6)......
ftmm123 2011-05-13
  • 打赏
  • 举报
回复
使用debug.print 的时候,
我发现我自己的电脑是遇到带中文名的文件的时候会出错!!

但是在其他电脑上,出错的地方并不是这里,

有的电脑是出现 带中文的路径的时候会出错。

另外的电脑是出现长路径的时候也会出错。路径字符超过15的时候会出错

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧