|
|
大文件分割 | 逻辑型 | | |
原文件路径 | 文本型 | | | | 切割分卷文件大小 | 长整数型 | | | | 是否删除原文件 | 逻辑型 | | | | 返回全部分卷文件路径 | 文本型 | | | | 返回消息 | 文本型 | | | | 获取进度 | 子程序指针 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_文件号 | 整数型 | | | 局_子文件号 | 整数型 | | | 局循环次数 | 整数型 | | | 局循环次数子 | 整数型 | | | n | 长整数型 | | | i | 整数型 | | | m | 整数型 | | | 局拓展名 | 文本型 | | | 局分卷路径 | 文本型 | | | 局初始字节数 | 长整数型 | | | 局压缩分段长度 | 长整数型 | | | 局_ | 字节集 | | | 如果真 (是否为空 (返回消息 ) = 假)返回消息 = “”清除数组 (返回全部分卷文件路径 )局_文件号 = 打开文件A (原文件路径, #读文件, #限制读写 )如果真 (局_文件号 = 0 )返回消息 = “文件分割:” + 原文件路径 + “ 文件无法打开,请检查是否已被其他程序占用”返回 (假)n = 取文件大小 (局_文件号 )判断 (n % 切割分卷文件大小 = 0 )局循环次数 = n ÷ 切割分卷文件大小 局循环次数 = n ÷ 切割分卷文件大小 + 1 判断 (局循环次数 > 1 )局拓展名 = 文件_取扩展名 (原文件路径 )局分卷路径 = 子文本替换 (原文件路径, 局拓展名, “”, , 1, 真) + “.part”局初始字节数 = 0 判断 (切割分卷文件大小 > #压缩分段上限 )判断 (切割分卷文件大小 % #压缩分段上限 = 0 )局循环次数子 = 切割分卷文件大小 ÷ #压缩分段上限 局循环次数子 = 切割分卷文件大小 ÷ #压缩分段上限 + 1 计次循环首 (局循环次数, i )加入成员 (返回全部分卷文件路径, 局分卷路径 + 到文本 (i ) + 局拓展名 )局_子文件号 = 打开文件A (局分卷路径 + 到文本 (i ) + 局拓展名, #重写文件, #限制读写 )如果真 (局_子文件号 = 0 )返回消息 = 返回消息 + “文件分割:” + 局分卷路径 + 到文本 (i ) + 局拓展名 + “ 文件无法打开,请检查是否已被其他程序占用” + #换行符 计次循环首 (局循环次数子, m )改变读写位置 (局_文件号, 局初始字节数, )判断 (局循环次数子 = m )判断 (切割分卷文件大小 % #压缩分段上限 = 0 )局压缩分段长度 = #压缩分段上限 局初始字节数 = 局初始字节数 + 局压缩分段长度 局压缩分段长度 = 切割分卷文件大小 % #压缩分段上限 局初始字节数 = 局初始字节数 + 局压缩分段长度 局压缩分段长度 = #压缩分段上限 局初始字节数 = 局初始字节数 + 局压缩分段长度 局_ = 读文件字节集 (局_文件号, 局压缩分段长度, )如果真 (写文件字节集 (局_子文件号, 局_ ) = 假)如果真 (取字节集长度 (局_ ) ≠ 0 )返回消息 = 返回消息 + “文件分割:” + 局分卷路径 + 到文本 (i ) + 局拓展名 + “ 无法写入数据 请检查磁盘剩余空间” + #换行符 计次循环尾 ()关闭文件句柄 (局_子文件号 )如果真 (是否为空 (获取进度 ) = 假)调用子程序 (获取进度, , , 取整 (局初始字节数 ÷ (n ÷ 100 )) )程序延时 (1 )计次循环尾 ()计次循环首 (局循环次数, i )加入成员 (返回全部分卷文件路径, 局分卷路径 + 到文本 (i ) + 局拓展名 )改变读写位置 (局_文件号, 局初始字节数, )局_ = 读文件字节集 (局_文件号, 切割分卷文件大小, )如果真 (写到文件字节集A (局分卷路径 + 到文本 (i ) + 局拓展名, 局_ ) = 假)返回消息 = 返回消息 + “文件分割:” + 局分卷路径 + 到文本 (i ) + 局拓展名 + “ 无法写入数据 请检查磁盘剩余空间” + #换行符 局初始字节数 = 局初始字节数 + 切割分卷文件大小 如果真 (是否为空 (获取进度 ) = 假)调用子程序 (获取进度, , , 取整 (局初始字节数 ÷ (n ÷ 100 )) )程序延时 (1 )计次循环尾 ()关闭文件句柄 (局_文件号 )如果真 (返回消息 ≠ “”)清除数组 (返回全部分卷文件路径 )返回 (假)如果真 (是否删除原文件 = 真)处理事件 ()删除文件 (原文件路径 )返回 (真)关闭文件句柄 (局_文件号 )返回消息 = “文件分割:设置的分割文件大小大于或等于原文件大小,无需分割”返回 (假)比如像这样
|
|