• HTML5 本地文件操作之FileSystemAPI整理(二)


    一、文件目录操作

    1.DirectoryEntry对象

    属性:

     1.isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false

     2.isDirectory: 操作对象是否为目录,DirectoryEntry对象固定其值为true

     3.name: 目录操作对象的名称,不包括路径

     4.fullPath: 目录操作对象的完整路径,文件系统的绝对路径

     5.fileSystem: 文件操作对象所属的文件系统对象,参考FileSystem

    方法:

     1. entry.getMetadata( successCB, errorCB, recursive ); 获取文件夹信息

    succesCB: ( MetadataSuccessCallback ) 必选 获取文件或目录属性信息成功的回调。

    errorCB: ( FileErrorCallback) 必选 获取文件或目录属性信息失败的回调。

    recursive: ( Boolean ) 必选 是否递归计算目录信息,true为递归计算获取信息,false不递归计算获取,默认值为false。(测试时,参数没起作用)

    2.entry.moveTo( parent, newName, succesCB, errorCB ); 移动目录

    3.entry.copyTo( parent, newName, succesCB, errorCB ); 拷贝目录

    说明:以下情况拷贝目录将会导致失败: 将父目录拷贝到子目录中; 要拷贝到的目标目录无效; 要拷贝到的目标路径被文件占用; 要拷贝到的目标目录已经存在并且不为空。 拷贝目录成功通过succesCB回调返回,失败则通过errorCB返回。

    4. DOMString entry.toURL(); 获取目录路径转换为URL地址,示例:filesystem:http://localhost:57128/persistent/txt_2_rename

    5. entry.remove( succesCB, errorCB );删除目录

    说明:以下情况删除目录将会导致失败: 目录中存在文件; 删除根目录; 删除目录成功通过succesCB回调返回,失败则通过errorCB返回。

    6. entry.getParent( succesCB, errorCB );获取父目录

    succesCB: ( EntrySuccessCallback ) 可选 获取父目录成功的回调函数,回调函数接收参数为上一级目录引用DirectoryEntry对象

    errorCB: ( FileErrorCallback) 可选 获取父目录失败的回调函数

    示例如下:获取到的是根目录。

    7.  DirectoryReader entry.createReader();

    说明:创建一个目录读取对象,用户读取目下的文件及子目录。

    8. entry.getDirectory( path, flag, succesCB, errorCB ); 创建或打开子目录

    • path: ( DOMString ) 必选 要操作目录相对于当前目录的地址
    • flag: ( Flags ) 可选 要操作文件或目录的参数
    • succesCB: ( EntrySuccessCallback ) 可选 创建或打开目录成功的回调函数
    • errorCB: ( FileErrorCallback) 可选 创建或打开目录失败的回调函数

    9.entry.getFile( path, flag, succesCB, errorCB );创建或打开文件

    10.entry.removeRecursively( succesCB, errorCB );递归删除目录

    说明:删除目录将会删除其下的所有文件及子目录 不能删除根目录,如果操作删除根目录将会删除目录下的文件及子目录,不会删除根目录自身。 删除目录成功通过succesCB回调返回,失败则通过errorCB返回。

    2.DirectoryReader对象

    方法:

    1. directoryReader.readEntries( succesCB, errorCB );

    说明:获取当前目录下的所有文件和子目录。 获取操作成功通过succesCB回调返回,失败则通过errorCB返回。

    参数:

    succesCB: ( EntrySuccessCallback ) 可选 获取成功的回调函数,回调函数中返回FileEntry或者DirectoryEntry的数组

    errorCB: ( FileErrorCallback) 可选 获取失败的回调函数

    使用示例:

    fs.root.getDirectory('txt_2_rename', { create: false }, function (dirEntry) {
        var dirReader = dirEntry.createReader();
        console.info(dirReader);
        dirReader.readEntries(function (entries) {
            console.info(entries);
        }, errorHandler);
    }, errorHandler);

    3.File对象

    说明:文件系统中的文件数据对象,用于获取文件的数据

    属性:

    size: 文件数据对象的数据大小,单位为字节

    type: 文件数据对象MIME类型

    name: 文件数据对象的名称,不包括路径

    lastModifiedDate: 文件对象的最后修改时间

    方法:

    1.   file.slice( start, end );获取文件指定的数据内容

    说明:获取文件指定的数据内容,其中end必须大于start。

    参数:

    start: ( Number ) 可选 获取文件数据的起始位置

    end: ( Number ) 可选 获取文件数据的结束位置

    2. file.close(); 关闭文件数据对象

    说明:当文件数据对象不再使用时,可通过此方法关闭,释放系统资源。

    二、参数整理

    Flags

    JSON对象,获取文件操作的参数

    属性:

    create: (Boolean 类型 )是否创建对象标记,指示如果文件或目录不存在时是否进行创建,默认值为false。

    exclusive: (Boolean 类型 )反向操作标记,其本身没有任何效果,需与create属性值设置为true时一起使用,如果目标文件或目录已经存在则会导致文件或目录打开失败,默认值为false。

    三、URL相关

    URLType

    文件路径类型

    说明:在文件系统中的文件路径需转换成URL格式,已方便runtime快速加载。

    RelativeURL

    相对路径URL

    说明:只能在扩展API中使用,相对于基座提供的特定目录,以“_”开头。

    常量:

    "_www": (DOMString 类型 )应用资源目录

    保存应用的所有html、css、js等资源文件,与文件系统中根目录PRIVATE_WWW一致,后面加相对路径如“_www/res/icon.png”。 注意:应用资源目录是只读目录,只能读取次目录下的文件,不能修改或新建。

    "_doc": (DOMString 类型 )应用私有文档目录

    用于保存应用运行期业务逻辑数据,与文件系统中根目录PRIVATE_DOCUMENTS,如“_doc/userdata.xml”。

    "_documents": (DOMString 类型 )程序公用文档目录

    用于保存程序中各应用间可共享文件的目录,与文件系统中根目录PUBLIC_DOCUMENTS,如“_document/share.doc”。

    "_downloads": (DOMString 类型 )程序公用下载目录

    用于保存程序下载文件的目录,与文件系统中根目录PUBLIC_DOWNLOADS,如“_download/mydoc.doc”。

    LocalURL

    本地路径URL

    说明:可在html页面中直接访问本地资源,以“file:///”开头,后面跟随系统的绝对路径。 如示例:“file:///D:/res/hello.html”。沙盒系统还有以‘filesystem:http://’开头

    RemoteURL

    网络路径URL

    说明:可在html页面中以网络资源模式访问本地资源,以“http://”开头,后面跟随相对路径。 如示例:“http://localhost:13131/_www/res/icon.png”,其中“_www”字段可支持类型与相对路径URL一致。

    更多:

    HTML5 本地文件操作之FileSystemAPI整理(一)

    HTML5 本地文件操作之FileSystemAPI简介

  • 相关阅读:
    Java基础之线程最详细最精简的介绍
    Android基础之Android硬件
    Iphone客户端程序员半年工作总结
    Java基础之synchronized的讲解
    物联网能否落地?可裁剪嵌入式OS成关键
    java基础之Thread与Runnable的区别
    Android基础之小问题集锦
    Java基础之字符串匹配大全
    BPM 是与非 什么是BPM,如何辨别是否BPM产品,以及如何选择BPM产品
    Hello China操作系统的安装和使用
  • 原文地址:https://www.cnblogs.com/tianma3798/p/6439668.html
Copyright © 2020-2023  润新知