cordova操作Android本地文件系统

来源:互联网 发布:中国儿童编程网 编辑:程序博客网 时间:2024/06/08 17:32

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('删除文件出错');
原创粉丝点击