VB .txt数据文件操作,请帮忙,谢谢!
有两个.txt数据文件,如下所示:
A.txt:
NumberA-time压力温度
2208:00:30144.3525
2308:00:31155.4525
2408:00:32178.2225
B.txt:
序号B-time湿度膨胀度
1108:00:30.20050.345
1208:00:31.30050.546
1308:00:32.20050.750
要求:将A.txt的“A-time”列、“压力”列、“温度”列、与B.txt的“B-time”列、“湿度”列、提出来合并成为C.TXT文件,然后输出到硬盘,输出的C.txt文件如下:
C.txt:
A-timeB-time压力湿度温度
08:00:3008:00:30.200144.3550.325
08:00:3108:00:31.300155.4550.525
08:00:3208:00:32.200178.2250.725
请高手能够给出具体的实现代码,比如首先需要打开并读取A.txt、B.txt文件,希望能给出具体实现代码的,
非常感谢!
[解决办法]
这个容易:
Dim strTmp As String, strItem1() As String, strItem2() As StringOpen "A.txt" For Input As #1Open "B.txt" For Input As #2Open "C.txt" For Output As #3Do Until ((EOF(1)) Or (EOF(2))) Line Input #1, strTmpstrItem1 = Split(strTmp, " ")If Ubound(strItem1) = 3 ThenLine Input #2, strTmpstrItem2 = Split(strTmp, " ")If Ubound(strItem2) = 3 ThenPrint #3, strItem1(1) & " " & strItem2(1) & strItem1(2) & " " & strItem2(2) & strItem1(3)End IfEnf IfLoopClose #3Close #2Close #1
[解决办法]
Line Input #1, strTmpDo While InStr(strTmp, Space(2)) > 0 strTmp = Replace(strTmp, Space(2), Space(1))Loop
[解决办法]
当处理很大的文件时,我一般是作为二进制文件来读的,可以处理超过 2GB 的文本。
每次读入一个片段,例如 65536 字节,进行处理。需要注意的是,截取进来的数据一般不会正好在换行处,需要处理。例如半行(也许只差换行符)保留,与下一次读取的数据连接,等等。
如果你不怕麻烦,可以试试。
但你要在进程内开超大的数组,对于配置差的机器,可能还是要内存溢出。