利用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">
	//等待加载PhoneGap

	document.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);
	}
 


 

你可能感兴趣的:(PhoneGap)