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整理(二)的更多相关文章
- HTML5 本地文件操作之FileSystemAPI整理(一)
一.请求配额 DeprecatedStorageInfo对象 window.webkitStorageInfo:当使用持久存储模式时需要用到该对象的接口 方法: 1.requestQuota(type ...
- HTML5 本地文件操作之FileSystemAPI实例(二)
文件操作实例整理二 1.删除文件.复制文件.移动文件 //获取请求权限 window.requestFileSystem = window.requestFileSystem || window.we ...
- HTML5 本地文件操作之FileSystemAPI实例(三)
文件夹操作demo 1.读取根目录文件夹内容 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFi ...
- HTML5 本地文件操作之FileSystemAPI实例(一)
文件操作实例整理一 1.请求系统配额类型 console.info(window.TEMPORARY); //0 临时 console.info(window.PERSISTENT); //1 持久 ...
- HTML5 本地文件操作之FileSystemAPI实例(四)
目录操作Demo二 1.删除目录 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSyst ...
- HTML5 本地文件操作之FileSystemAPI简介
一.FileSystemAPI简介 HTML5的文件操作Api中 1.FileAPI,用于基础的客户端本地文件读取,目前大多数接口已经被主流浏览器支持,点击查看更多参考 2.FileSystemAPI ...
- 【Egret】实现web页面操作PC端本地文件操作
Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...
- H5读取本地文件操作
H5读取本地文件操作 本文转自:转:http://hushicai.com/2014/03/29/html5-du-qu-ben-di-wen-jian.html感谢大神分享. 常见的语言比如php. ...
- Linux文件操作常用命令整理
收集.整理日常系统管理或维护当中的,常用到的一些关于文件操作的命令或需求,后续会慢慢补充.完善! 查看.生成指定目录的目录树结构? [root@DB-Server ~]#tree #当前目录 ...
随机推荐
- linux文本编码格式转化 字幕处理
在处理字幕的时候,linux的编码格式转换很烦. 步骤: 用python先判断 其编码,再用iconv 转编码,再用awk处理格式. file不能判断吗?file有时不准. 1.python判断编码 ...
- SRILM Ngram 折扣平滑算法
关于n-gram 语言模型,大部分在这篇博客里 记过了, SRILM 语言模型格式解读 , 其实看完了,ngram的大概用法都比较清楚了, 但是关于平滑算法,一直很模糊,就晓得一个"劫富 ...
- 【BZOJ】4025: 二分图
题解 lct维护一个结束时间作为边权的最大生成树,每次出现奇环就找其中权值最小的那条边,删掉的同时还要把它标记上,直到这条边消失 如果有标记则输出No 边权通过建立虚点来维护 代码 #include ...
- getImplementationVersion-获取版本号
在工作中会遇到这个方法的使用,就记录一下. 一:getImplementationVersion 1. 方法 java.lang.Package.getImplementationVersion() ...
- netbeans启动后一会崩溃处理
由于netbeans 默认不支持amd cpu渲染,故需要修改默认配置文件,修改后netbeans没有问题. http://stackoverflow.com/questions/34560485/n ...
- [BZOJ3757]苹果树(树上莫队)
树上莫队共有三种写法: 1.按DFS序列分块,和普通莫队类似.常数大,不会被卡. 2.按块状树的方式分块.常数小,会被菊花图卡到O(n). 3.按[BZOJ1086]王室联邦的方式分块.常数小,不会被 ...
- 吴恩达-coursera-机器学习-week8
十三.聚类(Clustering) 13.1 无监督学习:简介 13.2 K-均值算法 13.3 优化目标 13.4 随机初始化 13.5 选择聚类数 十四.降维(Dimensionality Red ...
- 新手学cocos2dx,centos7下的安装过程
背景 打算学写游戏,新手向,当然从cocos2d-x开始. 看了cocos的文档,安装是针对ubuntu的,这里记录下centos7上安装.编译.运行测试的过程. 如果你已经有ubuntu,不推荐看此 ...
- spring-boot 速成(11) - 单元测试
一.添加依赖项: testCompile 'org.springframework.boot:spring-boot-starter-test:1.5.2.RELEASE' 二.单元测试代码示例 im ...
- bitnami redmine配置全过程
常见问题: 我在自己的机器上面配置完毕以后,移植到另外一台机器上面,登陆页面总是在检查network,并且最后网络加载失败,不论我是用桥接还是NAT方式连接.登陆系统以后,我尝试连接网络失败,尝试执行 ...