使用Ubuntu在Javascript中导入文件

时间:2011-10-14 21:16:03

标签: javascript qt-creator qml

如何在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]的结果不是对象。

4 个答案:

答案 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