# fsys.partFile 库模块帮助文档

## fsys.partFile 成员列表 <a id="fsys.partFile" href="#fsys.partFile">&#x23;</a>

分卷文件操作

### fsys.partFile.group("分卷文件路径") <a id="fsys.partFile.group" href="#fsys.partFile.group">&#x23;</a>
自动查找关联分卷文件  
并返回排序好的文件名数组  
文件名数组序号最小的在数组开始  
数组包含文件名到完整路径的键值映射  
返回值2为去掉分卷号路径,可作为合并目标路径

### fsys.partFile.join("合并目标文件",待合并文件) <a id="fsys.partFile.join" href="#fsys.partFile.join">&#x23;</a>
合并文件,成功返回true  
待合并文件可以是一个数组或多个参数  
如果未指定参数@2,则参数@1必须是一个分卷文件路径  
仅指定一个分卷路径时自动设定所有参数  
该函数使用追加模式,不清空目标文件  
可选用 fsys.partFile.onCopyData 显示进度

### fsys.partFile.joiner("目标文件路径","w+b",读写块大小) <a id="fsys.partFile.joiner" href="#fsys.partFile.joiner">&#x23;</a>
创建合并文件对象  
除参数@1以外其他参数可选  
参数@2为打开文件模式,默认为"w+b"即重建目标文件  
块大小默认为10MB

### fsys.partFile.joiner() <a id="fsys.partFile.joiner" href="#fsys.partFile.joiner">&#x23;</a>
[返回对象:partFileJoinerObject](#partFileJoinerObject)

### fsys.partFile.search("搜索目录",是否查找子目录) <a id="fsys.partFile.search" href="#fsys.partFile.search">&#x23;</a>
查找分卷文件,  
返回一个表,键为未分卷文件名,值为分卷文件路径数组,该数组已排序  
除参数一以外,其他参数可选,默认不查找子目录  
参数3,4请保持默认值,高级用法请查看该函数源码

### fsys.partFile.split("被拆分文件路径",分卷文件大小,存储目录) <a id="fsys.partFile.split" href="#fsys.partFile.split">&#x23;</a>
拆分文件,成功返回true  
不指定目录则取被拆分文件所在目录  
可选用 fsys.partFile.onCopyData 显示进度

### fsys.partFile.splitter("拆分源文件路径",分卷文件大小,读写块大小) <a id="fsys.partFile.splitter" href="#fsys.partFile.splitter">&#x23;</a>
拆分文件  
读写块大小默认为10MB

### fsys.partFile.splitter() <a id="fsys.partFile.splitter" href="#fsys.partFile.splitter">&#x23;</a>
[返回对象:partFileSplitterObject](#partFileSplitterObject)

## fsys.partFile 事件列表 <a id="fsys.partFileEvent" href="#fsys.partFileEvent">&#x23;</a>

### fsys.partFile.onCopyData <a id="fsys.partFile.onCopyData" href="#fsys.partFile.onCopyData">&#x23;</a>

```aardio
fsys.partFile.onCopyData = function(path,writeSize,blocks,count){
	io.print( path,fsys.formatSize(writeSize),blocks,count )
}
```

## partFileJoinerObject 成员列表 <a id="partFileJoinerObject" href="#partFileJoinerObject">&#x23;</a>

### partFileJoinerObject.append("合并文件路径") <a id="partFileJoinerObject.append" href="#partFileJoinerObject.append">&#x23;</a>
支持不定个参数指定的文件路径  
或者使用一个参数传入待合并文件路径数组  
将参数传入的文件读取并追加到合并目标文件  
成功返回true

### partFileJoinerObject.close() <a id="partFileJoinerObject.close" href="#partFileJoinerObject.close">&#x23;</a>
关闭合并目标文件

## partFileJoinerObject 事件列表 <a id="partFileJoinerObjectEvent" href="#partFileJoinerObjectEvent">&#x23;</a>

### partFileJoinerObject.onCopyData <a id="partFileJoinerObject.onCopyData" href="#partFileJoinerObject.onCopyData">&#x23;</a>

```aardio
partFileJoinerObject.onCopyData = function(path,writeSize,blocks,count){
	io.print( path,fsys.formatSize(writeSize),blocks,count )
}
```

## partFileSplitterObject 成员列表 <a id="partFileSplitterObject" href="#partFileSplitterObject">&#x23;</a>

### partFileSplitterObject.close() <a id="partFileSplitterObject.close" href="#partFileSplitterObject.close">&#x23;</a>
关闭源文件

### partFileSplitterObject.formatName <a id="partFileSplitterObject.formatName" href="#partFileSplitterObject.formatName">&#x23;</a>
生成分卷文件名的格式化串  
默认为 "源文件名" + ".%03d"

### partFileSplitterObject.split("创建分卷文件目录",分卷初始序号) <a id="partFileSplitterObject.split" href="#partFileSplitterObject.split">&#x23;</a>
拆分文件,所有参数可选  
默认使用源文件所在目录存储分卷文件,  
初始分卷序号默认为1

## partFileSplitterObject 事件列表 <a id="partFileSplitterObjectEvent" href="#partFileSplitterObjectEvent">&#x23;</a>

### partFileSplitterObject.onCopyData <a id="partFileSplitterObject.onCopyData" href="#partFileSplitterObject.onCopyData">&#x23;</a>

```aardio
partFileSplitterObject.onCopyData = function(path,writeSize,blocks,count){
	io.print( path,fsys.formatSize(writeSize),blocks,count )
}
```

