文件系统

优质
小牛编辑
152浏览
2023-12-01

readFile(object)

文件异步读取,批量读取接口

手Q版本:7.8.0

函数参数object属性:

属性名类型是否必填说明
fileArray要读取的文件数组
successFunction接口调用成功回调
failFunction接口调用失败回调
completeFunction接口调用完成回调

object.file 文件数组

属性名类型是否必填说明
pathstring文件路径
encodingstring编码格式

file.encodeing 取值

"binary"

object.success 回调函数

参数名类型其他
objArray具体元素属性如下

obj 元素属性

参数名类型说明
pathstring路径
dataArrayBuffer/string数据
errcodenumber错误码
errmsgstring错误信息

object.fail 回调函数参数

参数名类型说明
msgstring错误信息
errcodenumber错误码

示例:

var files =  [];
files.push({'path':'GameRes://config.json'});
files.push({'path':'GameRes://resource/img.png'});
BK.fileSystem.readFile({'file':files,
    'success': function (res) {
        for (var i = 0; i < res.length; i++) {
            if (res[i].errcode == 0) {
                var str = "异步加载文件 成功:" + res[i].path + "   文件大小:" + res[i].data.length;
                BK.Script.log(1, 1, str);
            }
            else {
                var str = "异步加载文件失败 :" + retObj[i].path;
                BK.Script.log(1, 1, str);
            }
        }
    },'fail':function(){
        BK.Script.log(1, 1, "异步加载文件调用失败 ");
    },'complete':function()
    {
        BK.Script.log(1, 1, "异步加载文件调用完成 ");
    }

});

writeFile(Object)

异步写文件,批量写接口

手Q版本:7.8.0

函数参数Object属性:

属性名类型是否必填说明
fileArray要写入的文件数组
successFunction接口调用成功回调
failFunction接口调用失败回调
completeFunction接口调用完成回调

object.file 属性:

属性名类型是否必填说明
pathstring文件路径
dataArrayBuffer编码格式
encodingstring编码格式

file.encodeing 取值

"binary"

object.success 回调函数

参数名类型其他
objArray具体元素属性如下

obj 元素属性

参数名类型说明
pathstring路径
errcodenumber错误码
errmsgstring错误信息

object.fail 回调函数

参数名类型说明
msgstring错误信息
errcodenumber错误码

示例:

var files =  [];
files.push({'path':'GameRes://config.json','data':bkBuffer1});
files.push({'path':'GameRes://resource/img.png','data':bkBuffer2});
BK.fileSystem.writeFile({'file':files,
    'success': function (res) {
        BK.Script.log(0, 0, "write call back");
        for (var i = 0; i < res.length; i++) {
            if (res[i].errcode == 0) {
                var str = "异步写文件 成功:" + res[i].path;
                BK.Script.log(1, 1, str);
            }
            else {
                var str = "异步写文件 失败:" + res[i].path;
                BK.Script.log(1, 1, str);
            }
        }
    },'fail':function(obj){
        BK.Script.log(1, 1, "异步写文件调用失败 errcode:"+obj.errcode + ' msg:'+obj.msg);
    },'complete':function()
    {
        BK.Script.log(1, 1, "异步写文件调用完成 ");
    }
});

zip(Object)

批量异步压缩

手Q版本:7.8.0

参数Object属性:

属性名类型是否必填说明
fileArray要压缩的文件或目录数组
successFunction接口调用成功回调
failFunction接口调用失败回调
completeFunction接口调用完成回调

file 参数:

属性名类型是否必填说明
pathstring文件或目录
zipPathstring压缩生成文件路径

object.success 回调函数参数

参数名类型其他
objArray具体属性如下

obj 元素属性

参数名类型说明
pathstring路径
zipPathstring压缩包路径

object.fail 回调函数参数

参数名类型说明
msgstring错误信息
errcodenumber错误码

示例:

var files =  [];
files.push({"path": 'GameRes://config.json',"zipPath":"GameSandBox://ziptest_1.zip"});
files.push({"path": 'GameRes://resource/img.png',"zipPath":"GameSandBox://ziptest_2.zip"});
BK.fileSystem.zip({'file':files,
    'success': function (res) {
        for (var i = 0; i < res.length; i++) {
            if (res[i].errcode == 0) {
                var str = "zip 压缩成功:" + res[i].zipPath;
                BK.Script.log(1, 1, str);
            }
            else {
                var str = "zip 压缩失败:" + res[i].path;
                BK.Script.log(1, 1, str);
            }
        }
    },'fail':function(obj){
        BK.Script.log(1, 1, "异步压缩调用失败 errcode:"+obj.errcode + ' msg:'+obj.msg);
    },'complete':function()
    {
        BK.Script.log(1, 1, "异步压缩调用完成 ");
    }
});

unzip(Object)

批量异步解压

手Q版本:7.8.0

函数参数Object属性

属性名类型是否必填说明
fileArray要压缩的文件或目录数组
successFunction接口调用成功回调
failFunction接口调用失败回调
completeFunction接口调用完成回调

object.file 参数:

属性名类型是否必填说明
pathstring解压后的路径
zipPathstring源zip文件路径

object.success 回调函数

参数名类型其他
objArray具体属性如下

obj 元素属性

参数名类型说明
pathstring路径
zipPathstring压缩包路径

object.fail 回调函数

参数名类型说明
msgstring错误信息
errcodenumber错误码

示例:

    var files =  [];
    files.push({"path": 'GameSandBox://unzipDir',"zipPath":"GameSandBox://ziptest_1.zip"});
    files.push({"path": 'GameSandBox://unzipDir2',"zipPath":"GameSandBox://ziptest_2.zip"});
    BK.fileSystem.unzip({'file':files,
        'success': function (res) {
            for (var i = 0; i < res.length; i++) {
                if (res[i].errcode == 0) {
                    var str = "unzip 解压成功:" + res[i].zipPath;
                    BK.Script.log(1, 1, str);
                }
                else {
                    var str = "unzip 解压失败:" + res[i].zipPath;
                    BK.Script.log(1, 1, str);
                }
            }
        },'fail':function(obj){
            BK.Script.log(1, 1, "异步解压调用失败 errcode:"+obj.errcode + ' msg:'+obj.msg);
        },'complete':function()
        {
            BK.Script.log(1, 1, "异步解压调用完成 ");
        }
    });

readFileSync(filePath)

同步读文件接口

手Q版本:7.8.0

参数:

参数名类型是否必填说明
filePathstring文件路径
encodingstring编码格式

encodeing 取值

"binary","utf8","ascii","base64"

返回值:

类型说明
ArrayBuffer/string文件内容

示例:

var fileData = BK.fileSystem.readFileSync("GameSandBox://config.json");

writeFileSync(filePath,data)

同步写文件文件接口

手Q版本:7.8.0

参数:

参数名类型是否必填说明
filePathstring文件路径
dataArrayBufferstring要写入的内容

返回值:无

示例:

BK.fileSystem.writeFileSync("GameSandBox://config.json",bkBuffer);

zipSync(srcPath,targetZip)

同步压缩文件或目录

手Q版本:7.8.0

函数参数:

参数名类型是否必填说明
srcPathstring源压缩文件路径
targetZipstring目标压缩zip路径

返回值:无

示例:

BK.fileSystem.zipSync("GameSandBox://config.json","GameSandBox://test.zip");

unzipSync(srcZip, targetPath)

同步解压文件

手Q版本:7.8.0

函数参数:

参数名类型是否必填说明
srcZipstring源压缩zip路径
targetPathstring目标路径

返回值:无

示例:

BK.fileSystem.unzipSync("GameSandBox://test.zip","GameSandBox://test/");

makeDirSync(dirPath)

同步创建目录

手Q版本:7.8.0

函数参数:

参数名类型是否必填说明
dirPathstring目标路径

返回值:无

示例:

BK.fileSystem.makeDirSync("GameSandBox://test/");

unlinkSync(path)

同步删除文件

手Q版本:7.8.0

函数参数:

参数名类型是否必填说明
pathstring目标路径

返回值:无

示例:

BK.fileSystem.unlinkSync("GameSandBox://test/aaa.txt");

copyFileSync(srcPath, destPath)

同步拷贝文件

手Q版本:7.8.0

函数参数:

参数名类型是否必填说明
srcPathstring源文件路径
destPathstring目标文件路径

返回值:无

示例:

BK.fileSystem.copyFileSync("GameSandBox://test/aaa.txt","GameSandBox://test/bbb.txt");

accessSync(path)

文件是否存在

手Q版本:7.8.0

函数参数:

参数名类型是否必填说明
pathstring文件路径

返回值:

类型说明
boolean文件存在返回 true ,否则返回 false

示例:

var isExist = BK.fileSystem.accessSync("GameSandBox://test/aaa.txt");

isDirectory(path)

路径是否是文件夹

手Q版本:7.8.0

函数参数:

参数名类型是否必填说明
pathstring路径

返回值:

类型说明
boolean文件夹返回 true ,否则返回 false

示例:

var isDirector = BK.fileSystem.isDirectory("GameSandBox://test/aaa.txt");

getFileInfoSync(path)

获取文件信息 手Q版本:7.8.0

函数参数:

参数名类型是否必填说明
pathstring路径

返回值 object:

属性名类型说明
sizenumber文件字节数

示例:

var fileInfo = BK.fileSystem.getFileInfoSync("GameSandBox://test/aaa.txt");
// fileInfo.size

readDir(Object)

读取文件目录

手Q版本:7.8.0

参数Object属性:

属性名类型是否必填说明
pathstring目录路径
needDirboolean是否需要读出文件夹
successFunction接口调用成功回调
failFunction接口调用失败回调
completeFunction接口调用完成回调

object.success 回调函数

参数名类型
objArray \< string >

object.fail 回调函数

参数名类型说明
msgstring错误信息
errcodenumber错误码

示例:

BK.fileSystem.readDir({ "path": 'GameRes://resource/texture', 
    "needDir": false ,
    'success':function (res) {
        for (var i =0; i< res.files.length;i++) {
            var item = res.files[i];
        }
        zipTest(files);
    },
    'fail': function(res){
        BK.Script.log(1,1,'readDir failed');
    },
    'complete':function(res){
        BK.Script.log(1,1,'readDir complete');
    }
});