|
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据 | 快速字节集对象 | | | 文件号 | 整数型 | | | 写到文件号 | 整数型 | | | 处理进度 | 整数型 | | | time | 整数型 | | | 总次数 | 整数型 | | | 次数 | 整数型 | | | Line | 文本型 | | |
文件路径 = 接收到的文件路径 time = 取启动时间 ()总文件号 = 打开文件 (文件路径, 1, )文件号 = 打开文件 (文件路径, 1, )总次数 = 0 循环判断首 ()数据. 置字节集 (读入字节集 (文件号, 102400 )) 次数 = 数据. 替换子字节集 ({ 13 }, 到字节集 (“|”), , )处理进度 = 取读写位置 (文件号 )移动读写位置 (文件号, 处理进度, 102400 )总次数 = 总次数 + 次数 循环判断尾 (是否在文件尾 (文件号, 真) = 假)关闭文件 (文件号 )总数 = 总次数 计次循环首 (总数, )Line = 读入一行 (总文件号 )如果真 (Line = “”)跳出循环 ()队列.压入文本 (Line, 真)调试输出 (Line )计次循环尾 ()time = 取启动时间 () - time 信息框 (“处理完毕,耗时” + 到文本 (time ÷ 1000 ) + “秒 总次数:” + 到文本 (队列. 取队列长度 ()), 0, , )
用的这种方法 感觉还不如超列导入的快了 用的超列导入一万才5-8秒 导入2w大概10-20秒最多
感觉没必要用超列 用上面队列压入取出的方法 速度太差劲了 导入2w大概得25秒左右
原本的方法是 这里没用队列 没用循环取压入 而是新建一个子程序然后读入一行然后分割 取出后删除数组 但这样多线程里不太适用 会出现同时取出多个一样的数据
换成这样取出后循环队列压入但效果不尽人意 求优化或论坛有更好的导入方案 (论坛搜过了)
补充内容 (2023-2-21 22:29):
队列用的鱼刺的 |
|