2013-08-24 57 views
1

我正在瀏覽Cordova的FileWriter和FileReader API,我瞭解它們是異步的。如何在Phonegap上讀寫文件?

我也設法得到的FileWriter的FileReader並通過剛剛跟隨full examples here.

但我不知道是否有辦法寫入後立即讀取文件獨立工作。下面的代碼顯示了我想在gotFileWriter

function onDeviceReady() { 
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); 
} 

function gotFS(fileSystem) { 
    fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail); 
} 

function gotFileEntry(fileEntry) { 
    fileEntry.createWriter(gotFileWriter, fail); 
} 

function gotFileWriter(writer) { 
    writer.onwriteend = function(evt) { 
     // Read the file after writing 
    }; 
    writer.write("some sample text"); 
} 

function fail(error) { 
    console.log(error.code); 
} 

的FileReader做的完整的例子從文檔需要file對象來讀的東西(該gotFileWriter方法缺乏一個參考)。但是,大多數讀取文件的異步過程與編寫文件類似。

如果我想在寫入文件之後讀取文件,是否必須再次啓動整個異步過程,並調用window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);函數onwriteend函數?與不同的gotFileEntry方法一起調用fileEntry.file()?或者有沒有辦法從gotFileWriter方法中獲取file對象,而無需重複這些步驟?

有沒有人知道最快的方法呢?

+0

如何寫入文件? – Erum

回答

-3

在啓動應用程序時使用此功能。 它會讀取和寫入文件。嘗試一下。

function onDeviceReady() { 
       window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail); 
       window.resolveLocalFileSystemURI("file:///example.txt", onResolveSuccess, fail); 
       var isApp = 'yes'; 
       var root = this; 
       cb = window.plugins.childBrowser; 
       call(); 
      } 

      function onFileSystemSuccess(fileSystem) { 
       console.log(fileSystem.name); 
      } 

      function onResolveSuccess(fileEntry) { 
       console.log(fileEntry.name); 
      } 

      function fail(evt) { 
       console.log(evt.target.error.code); 
      } 


      function call(){ 
       window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, successDirectoryReader, null); 

      } 
function successDirectoryReader(fileSystem) 
      { 
       try { 
        var dirEntry = fileSystem.root; 
        var directoryReader = dirEntry.createReader(); 
        directoryReader.readEntries(success,failure); 
       } catch (e) { 
        alert(e); 
       } 
      } 
+0

你的例子只讀取文件。 – JasonMichael

+0

@JasonMichael那麼 – Madurai

+6

所以在你的文章中,你會說它會讀和寫。那是什麼。 – JasonMichael