1.获取Document目录
getLocalDocumentEntry () {
let persistent = null;
if (cordova.platformId === 'android') {
persistent = `${cordova.file.dataDirectory}files/`;
} else {
persistent = cordova.file.documentsDirectory;
}
return new Promise((resolve, reject) => {
window.resolveLocalFileSystemURL(persistent,
dirEntry => {
resolve(dirEntry);
}, error => {
reject(error);
});
});
}
2.创建目录
createDirectory (dirEntry, name, isCreate){
return new Promise((resolve, reject) => {
dirEntry.getDirectory(name, {create: isCreate}, subDirEntry => {
resolve(subDirEntry);
}, error => {
reject(error);
});
});
}
3.获取文件
getPrjectFile (filename, workEntry){
return new Promise((resolve, reject) => {
workEntry.getFile(filename, {create: true, exclusive: false}, fileEntry => {
resolve(fileEntry);
}, onErrorCreateFile => {
reject(onErrorCreateFile);
});
});
}
4.获取文件夹内所有文件
getProjectEntries (entry){
return new Promise((resolve, reject) => {
const reader = entry.createReader();
reader.readEntries(entries => {
console.log('entries', entries);
resolve(entries);
}, error => {
console.log('error', error);
reject(error);
});
});
}
5.写入文件
writeFile (fileEntry, dataObj) {
return new Promise((resolve, reject) => {
fileEntry.createWriter(fileWriter => {
fileWriter.onwriteend = () => {
console.log('Successful file write...');
resolve('success');
};
fileWriter.onerror = e => {
console.log(`Failed file write: ${e.toString()}`);
reject(e);
};
if (!dataObj) {
dataObj = new Blob(['some file data'], {type: 'text/plain'});
}
fileWriter.write(dataObj);
});
});
}
6.读取文件内容
readFile (fileEntry) {
return new Promise((resolve, reject) => {
fileEntry.file(file => {
const reader = new FileReader();
reader.onloadend = function () {
resolve(this.result);
};
reader.readAsText(file);
}, onErrorReadFile => {
reject(onErrorReadFile);
});
});
}
7.获取app目录
getAppEntry: function () {
return new Promise((resolve, reject) => {
const fileURL = `${cordova.file.applicationDirectory}www`;
window.resolveLocalFileSystemURL(fileURL,
appEntry => {
resolve(appEntry);
}, error => {
reject(error);
});
});
}