移动目录同样可以使用目录对象的 moveTo() 方法,现在我们的应用的文件系统的根目录下面,有两个目录,一个是 files ,另一个是 video … 下面我们试着把 video 目录移动到 files 目录里面。
首先我们需要获取到想要移动到的那个父目录,这里就是 files 这个目录 … 接着再去获取到将要被移动的目录,再去调用它的 moveTo() 这个方法,把它移动到获取到的那个父目录的下面。
代码
先去获取到父目录 …
/* 移动目录
fileSystem.root.getDirectory('files', {}, function (dirParent) {}, onError);
父目录的名字是 files … 一个空白的选项对象 … 然后是成功获取以后的函数 … 可以把获取到的目录对象交给这个函数 … 这里我们叫它 dirParent … 出现错误让它去执行 onError() …
成功以后,我们接着去获取想要移动的那个目录 … 同样用的是 getDirectory() 方法 … 要移动的目录是 video … 成功去执行一个匿名函数 … 发生错误去执行 onError() …
/* 移动目录 */
fileSystem.root.getDirectory('files', {}, function (dirParent) {
fileSystem.root.getDirectory('video', {}, function (dirEntry) {
dirEntry.moveTo(dirParent, dirEntry.name, function (movedEntry) {
console.log('目录的新路径:' + movedEntry.fullPath);
}, onError);
}, onError);
}, onError);
在它的里面,我们再去调用 video 这个目录的 moveTo() 方法 … 第一个参数是移动到的那个父目录对象 … 这里我们可以使用 dirParent … 因为在获取到 files 目录的时候,我们把获取到的目录对象命名成了 dirParent ..
然后是目录的新名称 … 这里我们不想改变目录的名字,所以可以用一个 dirEntry.name ,表示还是使用目录原来的名字 …
成功以后,去执行一个匿名函数 … 把返回的目录对象传递给这个函数 … 发生错误还是去执行 onError() ..
移动目录成功以后,我们在控制台上输出移动以后的目录的路径 … fullPath 属性可以输出目录的路径 。
预览
保存,回到浏览器,刷新一下 … 在控制台上,会输出移动以后的目录的新路径 ... 是在根目录下的 files 这个目录里面。