利用PhoneGap向SD卡中写入文件
要求:需要向sd卡中的某个文件夹中的某个txt文件中写入一些用户信息
先不废话,直接上代码:
?
<!DOCTYPE html><html><head><title>FileWriter Example</title><script type="text/javascript" charset="utf-8" src="../js/cordova-1.5.0.js"></script><script type="text/javascript" charset="utf-8">//等待加载PhoneGapdocument.addEventListener("deviceready", onDeviceReady, false);// PhoneGap加载完毕function onDeviceReady() {window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);} //获取newFile目录,如果不存在则创建该目录function gotFS(fileSystem) {newFile = fileSystem.root.getDirectory("newFile", {create : true,exclusive : false}, writerFile, fail);}//获取newFile目录下面的dataFile.txt文件,如果不存在则创建此文件function writerFile(newFile) {newFile.getFile("dataFile.txt", {create : true,exclusive : false}, gotFileEntry, fail);}function gotFileEntry(fileEntry) {fileEntry.createWriter(gotFileWriter, fail);}function gotFileWriter(writer) {writer.onwrite = function(evt) {alert("write success");};writer.write("some sample text");// 文件当前内容是"some sample text"writer.truncate(11);// 文件当前内容是"some sample" writer.seek(4);// 文件当前内容依然是"some sample",但是文件的指针位于"some"的"e"之后writer.write(" different text");// 文件的当前内容是"some different text"}function fail(error) {alert("Failed to retrieve file:" + error.code);}// 检索一个已存在的文件,如果该文件不存在时则创建该文件</script></head><body><h1>Example</h1><p>Write File</p></body></html>?
在实现此功能时,是参考phonegap中国上面的API,不过如果完全按照API中介绍的去凑代码的话,则此功能还是比较难实现的。gotFS(fileSystem)与writerFile(newFile)中的两行代码不能写到一块,不然只执行第一行代码。譬如就不能像如下这种方式写:
?
function gotFS(fileSystem) {newFile = fileSystem.root.getDirectory("newFile", {create : true,exclusive : false});newFile.getFile("dataFile.txt", {create : true,exclusive : false}, gotFileEntry, fail);}?
?