缓冲写文件比常规的一行一行写的快

易语言 2020-08-28 10:26:14

缓冲写文件比常规的一行一行写的快

f = 打开文件 (“C:\Users\Administrator\Desktop\test1.txt”, #重写, )
t = 取启动时间 ()
.计次循环首 (1000000, i)
写文本行 (f, 到文本 (i))
.计次循环尾 ()
关闭文件 (f)
调试输出 (“无缓冲:”, 取启动时间 () - t)
w.初始化 (“C:\Users\Administrator\Desktop\test2.txt”, 1024 × 1024 × 3) ' 1m
t = 取启动时间 ()
.计次循环首 (1000000, i)
w.写出一行 (到文本 (i))
.计次循环尾 ()
调试输出 (“缓存写入”, 取启动时间 () - t)

jb_长度 = 取文本长度 (cs_内容)
.如果真 (cx_写出下标 + jb_长度 > cx_缓冲区大小) ' 新来的,已经没法缓存了
写出文本 (cx_文件, cx_缓冲区)
cx_写出下标 = 0
.如果真结束
jb_剩余空间 = cx_缓冲区大小 - cx_写出下标
.如果真 (jb_长度 > jb_剩余空间)
jb_长度 = jb_剩余空间
.如果真结束
写到内存 (cs_内容, cx_缓存区指针 + cx_写出下标, jb_剩余空间)
cx_写出下标 = cx_写出下标 + jb_长度
写到内存 (#换行符, cx_缓存区指针 + cx_写出下标, 3) ' 可以保证,这里一定能安全的写
cx_写出下标 = cx_写出下标 + 2