cordova檔案讀寫javascript

來源:互聯網
上載者:User

下面代碼也許有助你使用cordova的檔案外掛程式功能,自己理解吧,哦,說一下,這是前端Html JavaScript方法,非java 外掛程式


前提:配置cordova的外掛程式方法,還不會就自己度娘。

cordova plugin add phonegap-nfccordova plugin add cordova-plugin-devicecordova plugin add cordova-plugin-filecordova plugin add cordova-plugin-cameracordova plugin add cordova-plugin-file-transfercordova plugin add cordova-plugin-mediacordova plugin add cordova-plugin-media-capturecordova plugin add org.apache.cordova.device-orientation  

var writedirectory; // default directoryvar writefileName; // default file namevar dataObj = null; //datas need writefunction getSDCardFile(rootDirEntry, directory, fileName) {this.writedirectory = directory;this.writefileName = fileName;console.log('file system open: ' + rootDirEntry);window.resolveLocalFileSystemURL(rootDirEntry, getfs, onErrorGetDir);}function getfs(sdcard) {if (sdcard == null) {console.log("No sdcard");return;} else {dirEntry = createDirectory(sdcard, writedirectory, writefileName);}}function createDirectory(rootDirEntry, directory, fileName) {return rootDirEntry.getDirectory(directory, {create : true}, function(dirEntry) {if (dirEntry == null) {console.log("No dirEntry");return;} else {fileEntry = createFile(dirEntry, fileName, false);}}, onErrorGetDir);}function createFile(dirEntry, fileName, isAppend) {// Creates a new file or returns the file if it already exists.return dirEntry.getFile(fileName, {create : true,exclusive : false}, function(fileEntry) {if (fileEntry == null) {console.log("No fileEntry");return;} else {writeFileintenalCreateFile(fileEntry, null, isAppend);}}, onErrorCreateFile);}function writeFile(filePath, data) {dataObj=data;window.resolveLocalFileSystemURL(filePath, writeMain, onFileSystemFail);}function writeMain(fileEntry) {if (fileEntry == null) {console.log("No writeMain fileEntry");return;} else {var isAppend = false;writeFileintenalwriteFile(fileEntry, dataObj, isAppend);}}function writeFileintenalCreateFile(fileEntry, dataObj, isAppend) {// Create a FileWriter object for our FileEntry (log.txt).console.log('file system open to write data: ' + dataObj);fileEntry.createWriter(function(fileWriter) {fileWriter.onwriteend = function() {console.log("Successful file write...");createFileComplete();};fileWriter.onerror = function(e) {console.log("Failed file read: " + e.toString());};// If we are appending data to file, go to the end of the file.if (isAppend) {try {fileWriter.seek(fileWriter.length);} catch (e) {console.log("file doesn't exist!");}}fileWriter.write(dataObj);});}function writeFileintenalwriteFile(fileEntry, dataObj, isAppend) {// Create a FileWriter object for our FileEntry (log.txt).console.log('file system open to write data: ' + dataObj);fileEntry.createWriter(function(fileWriter) {fileWriter.onwriteend = function() {console.log("Successful file write...");//writeFileComplete();};fileWriter.onerror = function(e) {console.log("Failed file read: " + e.toString());};// If we are appending data to file, go to the end of the file.if (isAppend) {try {fileWriter.seek(fileWriter.length);} catch (e) {console.log("file doesn't exist!");}}fileWriter.write(dataObj);});}function onFileSystemFail(error) {console.log("Failed to get file:" + error.code);}function onErrorCreateFile(error) {console.log("Failed to CreateFile:" + error.code);}function onErrorGetDir(error) {console.log("Failed to GetDir:" + error.code);}
var datas=null;//datas need writevar directory="mobovip";//default directoryvar fileName="stores.txt";//default file namefunction 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(e) {//當寫入成功完成後調用的回呼函數console.log("write success");};writer.onerror = function(e) {//寫入失敗後調用的回呼函數console.log("write error"+ error.code);};writer.onabort = function(e) {//寫入被中止後調用的回呼函數,例如通過調用abort()console.log("write abort"+ error.code);};// 快速將檔案指標指向檔案的尾部 ,可以append//writer.seek(writer.length); writer.write(datas);//向檔案中寫入資料//writer.truncate(11);//按照指定長度截斷檔案//writer.abort();//中止寫入檔案}function onFileSystemFail(error) {console.log("Failed to retrieve file:" + error.code);}


var directory; //default directoryvar fileName; //default file namevar JsonString;function Readfile(filePath) {console.log("讀取檔案"+filePath);this.directory = directory;this.fileName = fileName;window.resolveLocalFileSystemURL(filePath, readFileMain, fail);//window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory + filePath, readFileMain, fail);}function fail(e) {SetJsonString(null);console.log("FileSystem Error");console.log(e.code);}function readFileMain(fileEntry) {console.log("讀取檔案開始");fileEntry.file(function(file) {var reader = new FileReader();reader.onloadend = function() {console.log("成功讀取");//$("#state").text(this.result);SetJsonString(this.result);};reader.readAsText(file);}, fail);}

首頁面上要有個function SetJsonString(Str)接受讀檔案的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.