提供文件操作,文件管理系列接口
"mysoft-plugin-core": "^3.3.8"
文件存在
MFileManager.exists(path, callback(boolean));
参数 | 类型 | 作用 |
---|---|---|
path | string | 文件的绝对路径 |
callback(boolean) | Function | 回调函数,true存在,false不存在. |
MFileManager.exists(cordova.file.dataDirectory + "www/testdata.zip"
,function (boolean) {
console.log("boolean:" + JSON.stringify(boolean))
});
判断文件是目录还是文件
MFileManager.type(path, success(int),fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 文件的绝对路径 |
success(int) | Function | 执行成功回调,1文件,0目录. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
MFileManager.type(cordova.file.dataDirectory + "www/testdata.zip"
,function (int) {
console.log("success:" + JSON.stringify(int))
},function (error) {
console.log("error:" + JSON.stringify(error))
});
创建文件夹
MFileManager.mkdirs(path, success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 文件的绝对路径 |
success() | Function | 执行成功回调. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
MFileManager.mkdirs(cordova.file.dataDirectory + "www"
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
创建文件
MFileManager.createFile(path, content, success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 文件的绝对路径,如果父路径不存在,会自动创建。 |
content | string | 可选参数,创建文件时写进去的文本内容 |
success() | Function | 执行成功回调. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
MFileManager.createFile(cordova.file.dataDirectory + "www.js",""
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
复制文件(支持文件夹)
MFileManager.copyFile(srcPath, dstPath, success, fail, delete);
参数 | 类型 | 作用 |
---|---|---|
srcPath | string | 源文件的绝对路径 |
dstPath | string | 目标文件的绝对路径,如果父路径不存在,会自动创建。 |
success() | Function | 执行成功回调. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
delete | boolean | 可选参数,默认false, true表示删除源文件 |
MFileManager.copyFile(cordova.file.dataDirectory + "www.js",
cordova.file.dataDirectory + "dstPath/www.js"
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
删除文件(支持文件夹)
MFileManager.deleteFile(path, success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 源文件的绝对路径 |
success() | Function | 执行成功回调. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
注意:删除文件时,务必做一下文件是否存在的校验
MFileManager.deleteFile(cordova.file.dataDirectory + "www.js",
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
压缩文件,生成zip包
MFileManager.zipFile(path, files, success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | zip文件的绝对路径 |
files | array | 需要压缩的文件路径的数组 |
success() | Function | 执行成功回调. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
MFileManager.zipFile(cordova.file.dataDirectory + "www.zip",
[cordova.file.dataDirectory + "www.js"]
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
解压文件
MFileManager.unZipFile(srcPath, desPath, callback, fail);
参数 | 类型 | 作用 |
---|---|---|
srcPath | string | 源文件路径(绝对路径) |
desPath | string | 解压目标路径(绝对路径) |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
callback | Object | 相应回调 |
**callback说明
参数 | 类型 | 作用 |
---|---|---|
start() | Function | 解压开始 |
progress(int) | Function | 解压进度回调,返回百分比0-100. |
finish() | Function | 解压完成回调; |
MFileManager.unZipFile(cordova.file.dataDirectory + "www/testdata.zip"
, cordova.file.dataDirectory + "www/"
, {
"start": function () {
console.log("start")
}, "progress": function (process) {
console.log("progress:" + process)
}, "finish": function () {
console.log("finish")
}
},function (error) {
console.log("error:" + JSON.stringify(error))
});
获取文件的md5值
MFileManager.md5(path, success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 文件的绝对路径 |
success(result) | Function | 执行成功回调.result为string类型的文件md5值. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
MFileManager.md5(cordova.file.dataDirectory + "www.zip"
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
获取文件的长度
MFileManager.getLength(path, success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 文件的绝对路径 |
success(result) | Function | 执行成功回调.result为long型的文件长度. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
MFileManager.getLength(cordova.file.dataDirectory + "www.zip"
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
读取文件内容(和createFile配合使用,读取文件建议不要太大,最好在1兆以内)
MFileManager.readFile(path, success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 文件的绝对路径 |
success(result) | Function | 执行成功回调.result为文件内容,String类型. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
MFileManager.readFile(cordova.file.dataDirectory + "www.zip"
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
文件内容追加
MFileManager.appendContent(path, content,success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 文件的绝对路径,如果文件不存在,直接创建;存在则追加 |
content | string | 要追加的内容 |
success(result) | Function | 执行成功回调. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
```javascript
MFileManager.appendContent(cordova.file.dataDirectory + "www.js",""
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
```
lzma压缩文件,生成.7z压缩包(iOS仅支持iOS8及以上系统,请至config.xml中确认deployment-target的值)
MFileManager.lzmaFile(path, files,success, fail);
参数 | 类型 | 作用 |
---|---|---|
path | string | 7z文件的绝对路径 |
|files|array|需要压缩的文件路径的数组 |success()|Function|执行成功回调. |fail(obj)|Function|失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""}
# 示例代码
```javascript
MFileManager.lzmaFile(cordova.file.dataDirectory + "www.7z",[cordova.file.dataDirectory + "www.js"]
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
```
解压.7z压缩包(iOS仅支持iOS8及以上系统,请至config.xml中确认deployment-target的值)
MFileManager.unLzmaFile(srcPath, desPath, success, fail);
参数 | 类型 | 作用 |
---|---|---|
srcPath | string | 源文件路径(绝对路径) |
desPath | string | 解压目标路径(绝对路径) |
success() | Function | 执行成功回调. |
fail(obj) | Function | 失败回调函数,参数为json对象.例如: {"errCode": -1, "errMsg": ""} |
MFileManager.unLzmaFile(cordova.file.dataDirectory + "www.7z",
cordova.file.dataDirectory + "www"
,function () {
console.log("success")
},function (error) {
console.log("error:" + JSON.stringify(error))
});
获取某个路径下的文件列表
MFileManager.contentsOfDirectory(path, success, error};
参数 | 类型 | 作用 |
---|---|---|
path | String | 文件的绝对路径, 支持file:// |
success(result) | 成功回调,参数result为json对象数组。数组元素为空,则说明该文件夹中没有内容。 | |
error(result) | 错误回调,result为json对象。包含错误消息。比如该路径不存在,该路径不是文件夹。 |
result结构说明
参数 | 类型 | 说明 |
---|---|---|
isDirectory | boolean | 是不是目录 |
isFile | boolean | 是不是文件 |
isHidden | boolean | 是不是隐藏文件 |
lastModified | long | 最后修改时间,毫秒为单位。如:1472395049000 |
length | long | 文件大小 |
name | String | 文件名称 |
path | String | 文件绝对路径 此参数只针对Andriod有效;(因iOS系统中应用的存储路径名称无法预知。可用父目录路径+name得到全路径)
|
示例代码
```js
MFileManager.contentsOfDirectory('/sdcard/youku', function(x){console.log(x)}, function(x){console.log(x)});
```
均上路径支持: file://前缀和/代表的根路径