使用 Ubuntu 在 Javascript 中导入文件
如何在 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] 不是对象。
how do I import a file in Javascript on Ubuntu? Here is my current code:
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;
}
For some reason it cannot find the file. I am new to both jscript and ubuntu.
Error:
file:///home/chris/LcdDisplayFile/qml/TextFile.js:10: TypeError: Result of expression 'file' [null] is not an object.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
~
已经指向/home/chris/
。另外,为什么使用双//
?[1] 这些斜杠在字符串中没有特殊含义。[1]Windows 目录由反斜杠 (
\
) 分隔,它在 JavaScript 字符串中具有特殊含义(转义字符),因此\\
。普通斜杠不必转义,可以安全地写为/
(一个例外:正则表达式)~
already points to/home/chris/
. Also, why did you use a double//
?[1] These slashes have no special meaning inside a string.[1]Windows directories are separated by a backslash (
\
), which have a special meaning in JavaScript strings (escape character), hence\\
. Normal slashes do not have to be escaped, and can be safely written as/
(One exception: Regular expressions)对 QML 一无所知,我假设它支持 IO 并提供自己的类来读取流,并且您正在正确使用它。无论哪种方式,你的文件路径都是无效的......不应该是:
或者
也保持在我的Linux文件路径是区分大小写的。
Don't know anything about QML, I assume it supports IO and provides it own class for reading streams and that you are using it correctly. Either way your file path is invalid... shouldn't it just be:
or
Also keep in mine Linux file paths are case-sensitive.
除非您使用非标准的 JavaScript 服务器端扩展,例如 NodeJS ( http://nodejs.org/docs/v0.5.9/api/fs.html#fs.open ),文件 I/O 不是标准对象集的一部分。浏览器中的 JavaScript 不支持文件 I/O。
无论如何,这里的主要问题是 StreamReader 对象是什么以及在哪里。如果给定的 JavaScript 环境提供了它,那么该对象不应该为 null。
Unless you are using a non-standard server-side extension of JavaScript such as NodeJS ( http://nodejs.org/docs/v0.5.9/api/fs.html#fs.open ), file I/O is not part of the standard set of objects. JavaScript in the browser does not support file I/O.
At any rate, the main problem here is, what and where is the StreamReader object. If the given JavaScript environment provides it, then the object should not be a null.
以下是一些有关将 javascript 与 QML 结合使用的文档。我希望这有帮助:
http://qt-project。 org/doc/qt-5.0/qtqml/qtqml-javascript-imports.html
Here's some documentation regarding using javascript with QML. I hope this helps:
http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-imports.html