0

我正在爲Tizen可穿戴設備編程Web應用程序的第一步。這是我想要做的:如何閱讀通過Tizen IDE添加的「資源」文件

  1. 通過使用Tizen IDE,添加一個文件,例如, x.txt,在文件夾下, 數據/文本(即從項目的根目錄的相對路徑是 數據/文本/ x.txt)在運行時
  2. ,我想讀x.txt 文件
  3. 的內容...和做一些額外的處理它。

我以爲我只能讀wgt-package虛擬根,但my code(修復後)返回沒有文件在該位置。

我該怎麼做?順便說一句,我一直在網絡模擬器上測試。

p.s.我意識到這很簡單,所以猜測這應該記錄在某個地方,但我找不到一段時間後(從昨天開始)找到一個參考,所以我希望有人能幫我把我的努力在正確的軌道上

在此先感謝!

回答

0

您尚未顯示目前正在使用的代碼,所以很難確定您確切的問題。可能是你錯過了一個特權? tizen.filesystem.resolve需要http://tizen.org/privilege/filesystem.read,您必須將其添加到您的應用配置中。

總之,與data/text/helloworld.txt在我的項目文件夾,下面的示例代碼工作得很好:

var textFolder = "wgt-package/data/text"; 
var helloWorld = "helloworld.txt"; 

function onsuccess(files) { 
    for (var i = 0; i < files.length; i++) { 
     if (files[i].name == helloWorld) { 
      files[i].openStream("r", function(fs) { 
       var text = fs.read(files[i].fileSize); 
       fs.close(); 
       console.log("File contents: " + text); 
      }, function(e) { 
       console.log("Error " + e.message); 
      }, "UTF-8"); 
      break; 
     } 
    } 
} 

    function onerror(error) { 
    console.log("The error " + error.message 
      + " occurred when listing the files in " + textFolder); 
} 

tizen.filesystem.resolve(textFolder, function(dir) { 
     dir.listFiles(onsuccess, onerror); 
    }, function(e) { 
     console.log("Error" + e.message); 
    }, "r"); // make sure to use 'r' mode as 'wgt-package' is read-only folder 

你應該看到一個類似的日誌在JS控制檯如下:

js/main.js (10) :File contents: Hello World! 
0

參照下面的FileSystem教程和API參考

FileSystem教程https://developer.tizen.org/development/tutorials/web-application/tizen-features/base/filesystem#retrieve

文件系統API參考https://developer.tizen.org/dev-guide/latest/org.tizen.web.apireference/html/device_api/mobile/tizen/filesystem.html#FileSystemManager::resolve

如果你把你的文本文件放在/project_root/data/text/x.txt。 您可以通過webapi上的「wgt-package/data/text/x.txt」路徑訪問該文件。

下面是簡單的示例代碼。嘗試一下。

function onsuccess(files) { 
    for (var i = 0; i < files.length; i++) { 
    console.log("File Name is " + files[i].name); // displays file name 

    if(file[i].name = "your_txt_file.txt"){ 
     //do something here. file[i].readAsText(....) 
    } 
    } 
} 

function onerror(error) { 
    console.log("The error " + error.message + " occurred when listing the files in the selected folder"); 
} 

tizen.filesystem.resolve(
    "wgt-package/data/text", 
    function(dir) { 
     documentsDir = dir; dir.listFiles(onsuccess,onerror); 
    }, function(e) { 
     console.log("Error" + e.message); 
    }, "rw" 
);