//filePath为存放路径(如:_doc/xxx/xxx.json) 注意:路径一定要_doc开头的,content为存放的数据内容, isAppend为true时:追加内容, false时:重新写入
saveFileData: function(filePath, content, isAppend) {
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {
// fs.root是根目录操作对象DirectoryEntry
fs.root.getFile(filePath, {
create: true
}, function(fileEntry) {
fileEntry.createWriter(function(writer) {
writer.onwrite = function(e) {
console.log("saveFileData保存成功!");
};
var data = JSON.stringify(content);
if (isAppend) {
try {
writer.seek(writer.length);
} catch (e) {
console.log("file doesn't exist!");
}
}
writer.write(data);
console.log('saveFileData保存数据成功:' + data);
}, function(e) {
console.log('saveFileData保存数据失败');
});
});
}, function(e) {
console.log('saveFileData保存数据失败');
});
}
// 读取
readFile: function(filePath, callback) {
callback = callback || mui.noop;
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {
// fs.root是根目录操作对象DirectoryEntry
fs.root.getFile(filePath, {
create: false
}, function(fileEntry) {
fileEntry.file(function(file) {
console.log(file.size + '--' + file.name);
var fileReader = new plus.io.FileReader();
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
var news = [];
var result = evt.target.result;
if (result != "" && result != null) {
console.log("读取成功缓存成功:" + result);
callback({
state: 1,
message: "读取成功!",
data: result
});
}else{
callback({
state: 0,
message: "读取失败!",
data: result
});
}
}
});
});
}, function(e) {
callback({
state: -1,
message: e.message
});
});
}
//删除
delFile: function(filePath) {
if (plus.os.name == 'iOS') {
filePath = 'file://' + filePath;
}
//var filePath = 'userInfo/';
plus.io.resolveLocalFileSystemURL(filePath, function(entry) {
console.log('删除entry:' + entry);
//读取这个目录对象
var directoryReader = entry.createReader();
//读取这个目录下的所有文件
directoryReader.readEntries(function(entries) {
console.log('删除entries:' + entries)
//如果有才操作
if (entries.length > 0) {
//删除目录将会删除其下的所有文件及子目录 不能删除根目录,如果操作删除根目录
//将会删除目录下的文件及子目录,不会删除根目录自身。 删除目录成功通过succesCB
//回调返回,失败则通过errorCB返回。
entry.removeRecursively(function(entry) {
console.log('删除成功回调')
//删除成功回调
}, function(e) {
//错误信息
console.log(e.message + ' ?!')
})
}
})
})
}