file load contents

主要範例

程式碼

#!/usr/bin/gjs

const Gio = imports.gi.Gio;

var file = Gio.File.new_for_path("data.txt");

try {

    var [ok, data, etag] = file.load_contents(null);

    if (ok) {

        print(data);

        //print(data.toString());
        //print(data.toString('utf-8'));

    }

} catch (e) {
    print("Error: ", e.message);
}

注意:

  • 「load_contents」回傳的第二個參數「data」是「ByteArray」。
  • 「data.txt」內容的編碼若是「utf-8」,直接使用「print(data)」。 等同於「print(data.toString())」或是「data.toString('utf-8')」。
  • 「data.txt」內容的編碼若是「big5」,則要改用「print(data.toString('big5'));」。

Api

Big5 讀檔範例

程式碼

#!/usr/bin/gjs

const Gio = imports.gi.Gio;

var file = Gio.File.new_for_path("big5.txt");

try {
    var [ok, data, etag] = file.load_contents(null);

    if (ok) {
        print(data.toString('big5'));
    }

} catch (e) {
    print("Error: ", e.message);
}

網頁範例

程式碼

#!/usr/bin/gjs

const Gio = imports.gi.Gio;

var file = Gio.File.new_for_uri("https://wiki.gnome.org/Projects/Gjs");

try {
    var [ok, data, etag] = file.load_contents(null);

    if (ok) {
        print(data);
    }

} catch (e) {
    print("Error: ", e.message);
}