cordova操作Android本地文件系统
16lz
2021-01-24
cordova提供了file插件,这个插件可以访问手机上大部分文件和文件夹,当然,首先肯定是需要安装cordova以及安装它的插件”cordova-plugin-file”了,具体如何安装请读者自行查看官网,笔者就不再赘述
1. cordova 创建本地文件
在访问android本地系统文件的时候,我们需要使用到一个方法
window.resolveLocalFileSystemURL();
以及一些常量
举例:cordova.file.externalRootDirectory具体可以看以下图片示例
如下是完整的创建文件代码:
window.resolveLocalFileSystemURL('cordova.file.externalRootDirectory', function (root) { root.getFile('demo.txt', {create: true}, function (fileEntry) { var dataObj = new Blob(['欢迎访问hangge.com'], {type: 'text/plain'}); //写入文件 writeFile(fileEntry, dataObj); }, function (err) { console.log('创建失败!'); }); }, function (err) {});//将内容数据写入到文件中function writeFile(fileEntry, dataObj) { //创建一个写入对象 fileEntry.createWriter(function (fileWriter) { //文件写入成功 fileWriter.onwriteend = function () { console.log("Successful file read..."); }; //文件写入失败 fileWriter.onerror = function (e) { console.log("Failed file read: " + e.toString()); }; //写入文件 fileWriter.write(dataObj); }); }
“cordova.file.externalRootDirectory”是cordova的预定义常量,表示的是SD卡根目录,这里我们需要做的,就是在SD卡的根目录,创建一个demo.txt文件。
root.getFile(fileName,{create:false},callback)
这个api是用来创建或者读取文件的。
第一个参数是文件的名字,第二个参数create,如果它为true,则当文件不存在时就创建文件,如果存在则可以使用reader方法直接读取。
2. cordova读取本地文件
cordova读取本地文件,我们只需要根据以上的步骤拿到FileEntry,在通过fileEntry.file();
获取到file实例,最后使用FileReader
对象获取文件中的内容,就可以对内容进行处理了。
具体的代码如下:
function FileReader(fileEntry) { fileEntry.file(function (file) { var reader = new FileReader(); reader.onloadend = function (e) { alert(this.result); }; reader.readAsText(file); }, function (err) { console.log('读取出错'); }); }
3. cordova 删除本地文件
要删除本地文件,我们需要拿到文件的父文件夹,然后在获取FileEntry,最后通过FileEntry的remove方法删除文件,具体代码如下:
fileEntry.remove(function() { console.log('删除成功'); },function(err){ console.log('删除失败') });},function(err){console.log('删除文件出错');
更多相关文章
- Chrome V8 引擎移植到 Android
- Android使用Google Breakpad进行崩溃日志管理
- Android(安卓)三言两语
- android 玩转ContentProvider之三--实现一个ContentProvider对多张
- Binder框架 -- android AIDL 的使用
- Android(安卓)NDK学习笔记4-Android.mk篇
- Android使用addView动态添加组件
- Android中JNI编程的那些事儿
- android热修复--阿里热修复使用和源码分析