【发布时间】:2014-02-28 04:44:28
【问题描述】:
我知道这个问题以前被问过很多次,但我还是想不通。 我可以将文本文件写入 sdcard (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);
}
我使用 writer 函数将文件写入目录 sdcard/test 并使用 ../ 序列 - 这是一个丑陋的代码,但可以工作!
但是fs.root.getFile 的工作方式不同 - 它返回的 fullPath 信息显示我给定的路径已附加到“/data/data/com.appname/files”但不能替换它!
onloadend 函数显然不起作用,因为我从未收到警报消息,也没有收到错误消息。 更改“file:///sdcard/test”或“sdcard/test”的路径也无效。
任何帮助都非常感谢 - 提前感谢您! 克里斯
【问题讨论】:
标签: javascript android filereader mosync