如何使用Cordova管理android mobile的文件系统

时间:2016-05-25 09:00:26

标签: javascript android cordova ionic-framework

为了阅读移动文件系统,我使用了以下Cordova代码。工作正常

window.resolveLocalFileSystemURL(path,
    function (fileSystem) {
        var reader = fileSystem.createReader();
        reader.readEntries(
          function (entries) {
             ..

此外,我想使用Cordova提供以下功能

•创建新文件夹

•删除文件/文件

•重命名

•获取详细信息

•删除文件/文件夹

•剪切,复制和粘贴 - 单个文件和文件夹/多个文件和文件夹

•搜索功能(深度搜索,如Windows资源管理器)

请您提供实施这些功能/代码块的任何建议吗?

2 个答案:

答案 0 :(得分:1)

cordova文件API中有两个条目

  • FileEntry的
  • 的DirectoryEntry

要对文件执行操作,例如删除文件,获取文件的详细信息,您必须转到文件FileEntry。同样,要对文件夹例如Delete文件夹执行操作,您必须转到DirectoryEntry。在进入该条目之后,您可以执行特定的方法。我只是举例说明如下创建文件夹:

fileSystem.root.getDirectory("FolderName", {create: true});

对于其他操作,请参阅此文档: Phonegap Documentation

答案 1 :(得分:1)

正如您提到的window.resolveLocalFileSystemURL,所以您熟悉cordova的文件插件。 这些是您可以使用文件插件实现的: - 要创建文件夹: -

var root = cordova.file.externalDataDirectory;
window.resolveLocalFileSystemURL(root,  
function(directoryEntry) {  
directoryEntry.getDirectory('your_dir_name',{create:true},successCallBack,errorCallBack);  
},function(e){});  

要删除文件: -

var root = cordova.file.externalDataDirectory/file.txt;
window.resolveLocalFileSystemURL(root,  
function(file) {  
file.remove(successCallBack,errorCallBack);  
},function(e){}); 

复制/移动: -

window.resolveLocalFileSystemURL('YOUR_FILE_PATH/1.txt', function(fs) {
 var pathToCopy = cordova.file.externalRootDirectory+"/";
 var newName = "NEW_FILE_NAME"; //After copy/Move
 window.resolveLocalFileSystemURL(pathToCopy,function(directoryEntry) {
               fs.copyTo(directoryEntry, newName, function() {
                 console.log("File Copied To:"+pathToCopy);
               }, failFiles);
           });
}, failFiles);

要重命名为file,您可以使用两个相同的路径并更改文件名。

希望这有帮助