この質問は以前に何度も聞かれたことは知っていますが、とにかく理解できません。SDカード(Android 4)のディレクトリにテキストファイルを書き込むことはできますが、次のコードを使用して再度読み取る方法はありません:
function get_file () {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, getFilesystem, fail);
}
function getFilesystem(fs) {
alert("getFilesystem -> backup.txt"); // OK !
// alert("filesystem.name: "+fileSystem.name); // = persistent
// alert("filesystem.root.name: "+fileSystem.root.name); // = long number
//
fs.root.getFile("../../../../../../sdcard/test/backup.txt", {create: false, exclusive: false},
function(fileEntry) {
alert(fileEntry.fullPath); // shows that my path is appended to "data/.."
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
alert(+evt.target.result); // NOT SHOWING !
};
reader.readAsText(file);
}, fail);
}, fail);
}
この一連の ../ を使用して、ライター関数を使用してファイルをディレクトリ sdcard/test に書き込みました。これは見苦しいコードですが、機能しています。
しかしfs.root.getFile
、同じようには機能しません。返されるフルパス情報は、指定されたパスが「/data/data/com.appname/files」に追加されていることを示していますが、それを置き換えません!
アラートメッセージもエラーメッセージも表示されなかったため、onloadend関数は明らかに機能していません。パスを「file:///sdcard/test」または「sdcard/test」に変更しても効果はありません。
どんな助けでも大歓迎です - 事前に感謝します! クリス