Qml不用依赖C++的实现,使用js的XMLHttpRequest对象实现读写文件的功能。

先看下面的实现例子(读取Qt资源文件main.qml文件并显示到Text控件中):

js读取文件_node.js 读取文件_js读取dbf文件

// main.qml
import QtQuick 2.0
import "qrc:/file.js" as File

Rectangle {
    id: root
    width: 480
    height: 320

    Text {
        anchors.fill: parent
        Component.onCompleted: {
            /* 读取Qt资源文件中的main.qml文件内容到Text控件 */
            text = File.read("qrc:/main.qml")

            /* 如需要读取某个路径文件则可以这样写:file:///C:/Users/My/Demo.qml */

            /* 写内容到example.txt中 */
            File.write("example.txt""Hello qthub.com")
        }
    }
}

file.js文件内容:

// file.js
function read(file{
    var request = new XMLHttpRequest();
    request.open("GET", file, false); // false为同步操作设置
    request.send(null);
    return request.responseText;
}

function write(file, text{
    var request = new XMLHttpRequest();
    request.open("PUT", file, false); // false为同步操作设置
    request.send(text);
    return request.status;
}

从file.js文件中看到读写函数的实现js读取文件,关键的地方在于XMLHttpRequest对象。

XMLHttpRequest请求特定的url,可以用于获取任何类型的数据,而不仅仅是XML。它甚至支持HTTP以外的协议js读取文件,比如file://和FTP。另外,在浏览器中使用可能出于安全等原因的功能会受到限制。

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: wxii2p22