|
5精币
哈喽 俺又来鸟
今天闲着蛋疼 写了个批量合并文本
测试了下 发现有点 让我不解的问题
批量合并3W个文本 和 合并10个文本
如果他总大小 写出是不是有限制啊 大小超过340多MB 好像就写不出来了
我测试了批量合并几十个如果 大小不超过 一定数 秒写出
如果超出了大小 好像就无法 写出全部
‘---------------------------------------------------------------------------------------------以下为源代码
.版本 2
.支持库 commobj
.支持库 iext
.子程序 批量合并
.局部变量 总文件号, 整数型
.局部变量 文本, 文本型
.局部变量 循环
.局部变量 i
.局部变量 子文件号, 整数型
.局部变量 总数字, 整数型
.局部变量 文件号数组, 整数型, , "0"
.局部变量 X
i = 取启动时间 ()
总文件号 = 打开内存文件 ()
.计次循环首 (到整数 (取数组成员数 (文件合并数组)), 循环)
快速文本.从文件读 (文件合并数组 [循环])
总数字 = 总数字 + 快速文本.替换子文本 (#换行符, “”, , , 真)
状态条.置文本 (3, 到文本 (循环))
状态条.置文本 (5, 到文本 (总数字) + “ 行”)
快速文本.清除文本 ()
' ------------------------------------------------------------------------------
子文件号 = 打开文件 (文件合并数组 [循环], , )
写文本行 (总文件号, 读入文本 (子文件号, ))
关闭文件 (子文件号)
.计次循环尾 ()
快速文本.清除文本 ()
移到文件首 (总文件号)
文本 = 读入文本 (总文件号, )
写到文件 (取当前目录 () + “\合并结果_共:” + 到文本 (总数字) + “ 行.txt”, 到字节集 (文本))
信息框 (“合并完毕 用时:” + 到文本 (到整数 (四舍五入 (到整数 (取启动时间 () - i) ÷ 1000, 1))), 0, , )
’---------------------------------------------------文件合并数组 是文件路径的一个数组 我是用搜索加入数组 然后在取数组路径合并 帮看看 那里出毛病了
悄悄的说 这样合并文本 速度是 2000W 不超10秒 也可以做替换
嘿嘿 帅气吧
|
最佳答案
查看完整内容
两个就是600M.超过512了.
快速对象不支持超过512M的.
可以把内容转换成字节集数据.写到文件中.
|