cordova-plugin-file
cordova-plugin-fileプラグインのサンプルコードを記載します。
カウント
Documents配下のファイル数をログ出しします。
window.requestFileSystem(
LocalFileSystem.PERSISTENT,
0,
(fileSystem) => {
let directoryEntry = fileSystem.root;
var directoryReader = directoryEntry.createReader();
directoryReader.readEntries((fileEntries) => {
console.log('fileEntries.length', fileEntries, fileEntries.length);
});
}
);
コピー
Documents配下のcopyIndex番目にあるファイルを、1000個複製します。
window.requestFileSystem(
LocalFileSystem.PERSISTENT,
0,
(fileSystem) => {
let directoryEntry = fileSystem.root;
var directoryReader = directoryEntry.createReader();
directoryReader.readEntries((fileEntries) => {
const copyIndex = 1;
const copyLength = 1000;
for (var index = 0; index < copyLength; index++) {
console.log('index', index);
// ファイルを新しいディレクトリにコピーし、名前付け替えます
fileEntries[copyIndex].copyTo(fileSystem.root, `${fileEntries[copyIndex].name}_${index}.png`, (sucsses) => {
// console.log('sucsses', sucsses);
}, (error) => {
// console.log('error', error);
} );
}
});
}
);
削除
Documents配下のファイルを全て削除します。
ディレクトリは削除しません。
window.requestFileSystem(
LocalFileSystem.PERSISTENT,
0,
(fileSystem) => {
const directoryEntry = fileSystem.root;
const directoryReader = directoryEntry.createReader();
directoryReader.readEntries((fileEntries) => {
for (let index = 0; index < fileEntries.length; index++) {
const fileEntry = fileEntries[index];
if (fileEntry.name.match(/IMG_/)) {
fileEntry.remove(
(aaa) => {
console.log('成功', aaa);
},
(bbb) => {
console.log('失敗', bbb);
}
);
}
console.log(fileEntries[index].name)
}
});
console.log('directoryEntry', directoryEntry); },
(onFileSystemFail) => {
console.log('onFileSystemFail', onFileSystemFail)
}
);
削除(ログなし)
Documents配下のファイルを全て削除します。
ディレクトリは削除しません。
ログを出さず、削除にかかった時間を計測するのに使いました。
console.time('timer1');
window.requestFileSystem(
LocalFileSystem.PERSISTENT,
0,
(fileSystem) => {
const directoryEntry = fileSystem.root;
const directoryReader = directoryEntry.createReader();
directoryReader.readEntries((fileEntries) => {
for (let index = 0; index < fileEntries.length; index++) {
const fileEntry = fileEntries[index];
if (fileEntry.name.match(/IMG_/)) {
fileEntry.remove();
}
}
console.timeEnd('timer1');
});
}
);