利用5+app native.js io文件管理模块
1.新建js文件
// 文件写入
export const writeFileIos = function(filename, data) {
plus.io.requestFileSystem(
plus.io.PUBLIC_DOCUMENTS, // 文件系统中的根目录
fs => {
// 创建或打开文件, fs.root是根目录操作对象,直接fs表示当前操作对象
let a = fs.root.toURL()
let dirPath = a + '/' + 'ry/' + filename + '.txt';
fs.root.getFile(dirPath, {
create: true // 文件不存在则创建
}, fileEntry => {
// 文件在手机中的路径
console.log(fileEntry.fullPath, '文件在手机中的路径')
fileEntry.createWriter(writer => {
// 写入文件成功完成的回调函数
// 写入数据
writer.write(JSON.stringify(data));
writer.onwrite = e => {
console.log("写入数据成功");
};
})
}, e => {
console.log("getFile failed: " + e.message);
});
},
e => {
console.log(e.message);
}
);
}
// 文件读取
export const readFileIos = function(filename, callback) {
plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function(fs) {
// fs.root是根目录操作对象DirectoryEntry
let a = fs.root.toURL()
let dirPath = a + '/' + 'ry/' + filename + '.txt';
// /var/mobile/Containers/Data/Application/8D4886B0-4900-4B9E-99C5-BF53F72CB0BA/Documents/Pandora/documents/_documents/a/mayimei.txt
fs.root.getFile(dirPath, {
create: false
}, function(fileEntry) {
console.log(fileEntry)
fileEntry.file(function(file) {
console.log(file)
var fileReader = new plus.io.FileReader();
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
var news = [];
var result = evt.target.result;
if (result != "")
console.log(result, '读取的内容啊啊啊啊')
callback({
state: 1,
message: "读取成功!",
data: result
});
}
fileReader.onerror = e => {
callback({
state: 0,
message: "读取失败!",
data: result
});
}
});
}, e => {
callback({
state: e.code,
message: e.message,
});
});
})
}
// 文件删除
export const deleteFileIos = function(filename) {
plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function(fs) {
let a = fs.root.toURL();
let dirPath = a + '/' + 'ry/' + filename + '.txt';
fs.root.getFile(dirPath, {
create: false
},
function(fileEntry) { // 删除这个地址对应的文件
fileEntry.remove(function(entry) {
console.log("删除文件成功")
}, function(e) {
console.log(e.message);
})
},
function(err) {
console.log(err, '删除失败啊啊啊')
}
)
})
}