【求助】关于读取大文本
老马。。呵呵和我混的一个外挂论坛所有者的外号一样!!有个问题 我要读取一部小说,比较大 3M吧 用这个方法
Open FileName For Input As #1
txtTemp = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
frmMainCode.Text1.Text = txtTemp
结果读不完整,只读了很少一部分,怎么才能读完,为什么这个读不完呢?
其实最好,小说一般都是每三个换行是一章内容,有没有方法读到3个换行时就暂停,下次接着这里读?
希望各位大大和老马帮忙 我家里还有3天就要停网了 希望有时间能尽快吧! 先谢谢了 <p>本来用的INPUT读取的 ,文本太大,就死机了- -!</p>
<p> </p>
[此贴子已经被作者于2009-2-4 17:41:27编辑过] <p>3M不算很大啊</p>
<p> </p>
<p>我还以为你要读100M以上呢</p>
<p> </p>
<p>如果文件内容在100M以下,就可以使用二进制方式打开并一次性读入内存的办法,比较方便,就是会使用相同大小的内存,如下:</p>
<p> </p>
<div class="msgheader">QUOTE:</div><div class="msgborder"><br/>
<p><font face="Verdana">Dim txtTemp As String</font></p>
<p> </p>
<p><font face="Verdana">Open "d:\temp\1.txt" For Binary As #1<br/> txtTemp = String(LOF(1), Chr(0)) '分配缓冲区<br/> Get #1, , txtTemp '一次性读入<br/>Close #1</font></p>
<p><font face="Verdana"><font face="Verdana">Debug.Print StrConv(txtTemp, vbFromUnicode)</font></font></p></div>
<p> </p>
<p>我找了个98M左右的TXT,在我的机器上一共花了近三秒,没精确测试,不过应该能满足你的要求了</p> 学习到了,不知道可以用这个方法读exe不?
页:
[1]