如何在Ubuntu上导入Javascript中的文件?这是我目前的代码:
TextFile.js
var file = null;
function createFile()
{
file = new StreamReader();
file.open("~//home//chris//LcdDisplayFile//qml//file.txt");
}
function readLine()
{
var str = file.readLine();
return str;
}
由于某种原因,它无法找到该文件。我是jscript和ubuntu的新手。 错误:
file:///home/chris/LcdDisplayFile/qml/TextFile.js:10:TypeError:表达式'file'[null]的结果不是对象。
答案 0 :(得分:1)
~
已指向/home/chris/
。另外,为什么使用双//
? [1] 这些斜杠在字符串中没有特殊含义。
[1] Windows目录由反斜杠(\
)分隔,反斜杠在JavaScript字符串(转义字符)中具有特殊含义,因此\\
。普通斜杠不必转义,可以安全地写为/
(一个例外:正则表达式)
答案 1 :(得分:0)
除非您使用的是非标准的服务器端JavaScript扩展,例如NodeJS(http://nodejs.org/docs/v0.5.9/api/fs.html#fs.open),否则文件I / O不是标准对象集的一部分。浏览器中的JavaScript不支持文件I / O.
无论如何,这里的主要问题是StreamReader对象的内容和位置。如果给定的JavaScript环境提供它,则该对象不应为null。
答案 2 :(得分:0)
对QML一无所知,我认为它支持IO并为读取流提供了自己的类,并且正确使用它。无论哪种方式,您的文件路径都无效......不应该只是:
var path = '~/LcdDisplayFile/qml/file.txt'
或
var path = '/home/chris/LcdDisplayFile/qml/file.txt'
另外,我的Linux文件路径也区分大小写。
答案 3 :(得分:0)
这里有一些关于在QML中使用javascript的文档。我希望这会有所帮助:
http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-imports.html