# fsys.untar 库模块帮助文档

## fsys 成员列表 <a id="fsys" href="#fsys">&#x23;</a>

### fsys.untar <a id="fsys.untar" href="#fsys.untar">&#x23;</a>
tar文件操作

### fsys.untar("tar文件路径",存储路径) <a id="fsys.untar" href="#fsys.untar">&#x23;</a>
参数@1可以是 *.tar, *.tar.gz, *.tgz 类型文件路径,  
参数 @1 也可以指定 fsys.stream 或 fsys.file,io.file 等文件对象,  
如果参数@1为文件路径,则参数@2为可选参数

### fsys.untar() <a id="fsys.untar" href="#fsys.untar">&#x23;</a>
[返回对象:fsysUntarfileObject](#fsysUntarfileObject)

## fsysUntarfileObject 成员列表 <a id="fsysUntarfileObject" href="#fsysUntarfileObject">&#x23;</a>

### fsysUntarfileObject.blocksCount <a id="fsysUntarfileObject.blocksCount" href="#fsysUntarfileObject.blocksCount">&#x23;</a>
数据块总数,  
仅供进度条使用的估算值

### fsysUntarfileObject.close() <a id="fsysUntarfileObject.close" href="#fsysUntarfileObject.close">&#x23;</a>
关闭文件,  
如果解包完成返回true

### fsysUntarfileObject.complete <a id="fsysUntarfileObject.complete" href="#fsysUntarfileObject.complete">&#x23;</a>
所有文件是否解包完成

### fsysUntarfileObject.eachBlock(posRange) <a id="fsysUntarfileObject.eachBlock" href="#fsysUntarfileObject.eachBlock">&#x23;</a>

```aardio
for(fileName,writeSize,remainSize,pos in fsysUntarfileObject.eachBlock() ){
	 /*循环展开所有文件块,  
文件块较多时指定posRange参数可以减少循环次数以优化性能  
posRange参数可选指定一个表示进度上限的数值,  
指定posRange参数则返回值pos表示当前进度*/
}
```

### fsysUntarfileObject.lastError <a id="fsysUntarfileObject.lastError" href="#fsysUntarfileObject.lastError">&#x23;</a>
调用eachBlock解包时，可使用lastError获取错误信息

### fsysUntarfileObject.nextBlock() <a id="fsysUntarfileObject.nextBlock" href="#fsysUntarfileObject.nextBlock">&#x23;</a>
释放下一个块,  
成功返回文件名,释放大小,  
同一文件可能需要释放多个文件块

### fsysUntarfileObject.utf8 <a id="fsysUntarfileObject.utf8" href="#fsysUntarfileObject.utf8">&#x23;</a>
tar 文件名是否使用 UTF8 编码。  
设为 false ，表示文件名使用 ANSI 多字节编码。  
设为 true 表示文件名使用 utf8 编码,  
设为 null 则自动检测。  
目前 tar 文件一般使用 UTF-8 编码文件名，使用 ANSI 编码不常见。

## fsysUntarfileObject 事件列表 <a id="fsysUntarfileObjectEvent" href="#fsysUntarfileObjectEvent">&#x23;</a>

### fsysUntarfileObject.onProgressFile <a id="fsysUntarfileObject.onProgressFile" href="#fsysUntarfileObject.onProgressFile">&#x23;</a>

```aardio
fsysUntarfileObject.onProgressFile = function(path){
	/*正在创建文件*/
}
```

### fsysUntarfileObject.onProgressFolder <a id="fsysUntarfileObject.onProgressFolder" href="#fsysUntarfileObject.onProgressFolder">&#x23;</a>

```aardio
fsysUntarfileObject.onProgressFolder = function(path){
	/*正在创建目录*/
}
```

