cordova读写文件(1)

使用cordova可以很方便的在手机sdcard中读写文件。

首先需要安装cordova插件:file

命令为:

cordova plugin add org.apache.cordova.file

然后就可以读写文件了,这里我先是写入一个文件,具体的JS代码为:

var datas=null;//datas need write
var directory="mobovip";//default directory
var fileName="stores.txt";//default file name
function write(data,directory,fileName){
	this.datas=data;
	this.directory=directory;
	this.fileName=fileName;
	window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, onFileSystemFail);
}

//获取mobovip目录,如果不存在则创建该目录
function onFileSystemSuccess(fileSystem) {
	newFile = fileSystem.root.getDirectory(directory, {
		create : true,
		exclusive : false
	}, onDirectorySuccess, onFileSystemFail);
}
//获取mobovip目录下面的stores.txt文件,如果不存在则创建此文件
function onDirectorySuccess(newFile) {
	newFile.getFile(fileName, {
		create : true,
		exclusive : false
	}, onFileSuccess, onFileSystemFail);
}
/**
 * 获取FileWriter对象,用于写入数据
 * @param fileEntry
 */
function onFileSuccess(fileEntry) {
	fileEntry.createWriter(onFileWriterSuccess, onFileSystemFail);
}

/**
 * write datas
 * @param writer
 */
function onFileWriterSuccess(writer) {
//	log("fileName="+writer.fileName+";fileLength="+writer.length+";position="+writer.position);
	writer.onwrite = function(evt) {//当写入成功完成后调用的回调函数
		console.log("write success");
	};
	writer.onerror = function(evt) {//写入失败后调用的回调函数
		console.log("write error");
	};
	writer.onabort = function(evt) {//写入被中止后调用的回调函数,例如通过调用abort()
		console.log("write abort");
	};
	// 快速将文件指针指向文件的尾部 ,可以append
//	writer.seek(writer.length); 
	writer.write(datas);//向文件中写入数据
//	writer.truncate(11);//按照指定长度截断文件
//	writer.abort();//中止写入文件
}

function onFileSystemFail(error) {
	console.log("Failed to retrieve file:" + error.code);
}

使用的时候只需要这样:

write("yourdatas","mobovip","stores.txt");

其中第一个参数是你要写入的数据;

第二个参数是写入的文件夹;

第三个参数是要写入的文件名;

然后你可以在sdcard中看见创建的mobovip/stores.txt文件了。打开该文件,如果有内容,说明一切ok。

相关推荐