我正在为Tizen可穿戴设备编写Web应用程序的第一步。这就是我想做的:
- 通过使用Tizen IDE,在文件夹下添加一个文件,例如x.txt,例如数据/文本(即项目根目录的相对路径是数据/文本/x.txt )
- 在运行时,我想读取x的内容.txt文件
- 。并用它做一些额外的处理.
我以为我可以读取wgt-package
虚拟根目录,但我的代码(修复后)在该位置没有返回任何文件.
我该怎么做?顺便说一句,我一直在网络模拟器上进行测试。
附言我知道这很简单,所以猜这应该记录在某处,但我只是在搜索了一段时间后找不到参考(从昨天开始),所以我希望有人能帮助我把我的努力放在正确的轨道上
提前感谢!
请参阅下面的文件系统教程和 API 参考
文件系统教程 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"
);
您尚未显示当前工作的代码,因此很难确定确切的问题。也许您缺少特权? 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!