如何阅读"资源"通过Tizen IDE添加的文件

时间:2016-03-03 17:57:02

标签: javascript tizen tizen-wearable-sdk tizen-web-app tizen-web-simulator

我正在为Tizen可穿戴设备编写Web应用程序的第一步。这就是我想要做的事情:

  1. 使用Tizen IDE,添加一个文件,例如x.txt,在一个文件夹下, 例如数据/文本(即项目根目录的相对路径是 data / text / x.txt)
  2. 在运行时,我想阅读x.txt的内容 档案
  3. ...并用它做一些额外的处理。
  4. 我以为我可以阅读wgt-package虚拟根,但my code(修复后)在该位置不返回任何文件。

    我怎么能这样做?顺便说一句,我一直在网络模拟器上进行测试。

    P.S。我知道这很简单的事实,所以猜测这应该在某处记录但是我在搜索一段时间之后找不到参考(从昨天开始),所以我希望有人可以提供帮助我把我的努力放在了正确的轨道上

    提前致谢!

2 个答案:

答案 0 :(得分: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!

答案 1 :(得分:0)

请参阅FileSystem教程和API参考

下面的内容

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

Filesystem 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"
 );