ファイルとディレクトリに関するphonegapドキュメントを読むと、ファイルとディレクトリをコピーするために使用されたcopyToメソッドの詳細がわかります。
copyTo
ディレクトリをファイルシステム上の別の場所にコピーします。次のことを試みるとエラーになります。
ディレクトリをそれ自体の内部に任意の深さでコピーします。現在の名前とは異なる名前が指定されていない場合は、ディレクトリをその親にコピーします。ディレクトリのコピーは常に再帰的です。つまり、ディレクトリのすべての内容をコピーします。
パラメータ:
- parent-ディレクトリのコピー先の親ディレクトリ。(DirectoryEntry)
- newName-ディレクトリの新しい名前。指定しない場合、デフォルトで現在の名前になります。(DOMString)
- successCallback-新しいディレクトリのDirectoryEntryオブジェクトで呼び出されるコールバック。(関数)
- errorCallback-基になるディレクトリをコピーしようとしたときにエラーが発生した場合に呼び出されるコールバック。FileErrorオブジェクトで呼び出されます。(働き)
簡単な例
function win(entry) {
console.log("New Path: " + entry.fullPath);
}
function fail(error) {
alert(error.code);
}
function copyDir(entry) {
var parent = document.getElementById('parent').value,
parentName = parent.substring(parent.lastIndexOf('/')+1),
newName = document.getElementById('newName').value,
parentEntry = new DirectoryEntry(parentName, parent);
// copy the directory to a new directory and rename it
entry.copyTo(parentEntry, newName, success, fail);
}
OnDeviceReadyメソッドで、ファイルフォルダがドキュメントディレクトリに存在するかどうかを確認します。存在しない場合は、上記のコードを実行してwww/files
フォルダをドキュメントディレクトリにコピーします。