1

アクションglib.file.readからhtmlに結果を送信する方法について、誰かが私に指針を与えることができるかどうか疑問に思っていました。

例 ファイル string.txt を読みたい

File file = File.new_for_path ("string.txt");
try {
    FileInputStream @is = file.read ();
    DataInputStream dis = new DataInputStream (@is);
    string line;

    while ((line = dis.read_line ()) != null) {
        stdout.printf ("%s\n", line);
    }
} catch (Error e) {
    stdout.printf ("Error: %s\n", e.message);
}

return 0;

そして、この散文からの結果をファイルhtml、例index.htmlに投稿したい

助けていただければ幸いです。ありがとう

4

1 に答える 1

2

GNOME Wikiから取得したファイルにデータを書き込む方法の短い例を次に示します(ここで詳細情報を見つけることができます)。

// an output file in the current working directory
var file = File.new_for_path ("index.html");

// creating a file and a DataOutputStream to the file
var dos = new DataOutputStream (file.create
    (FileCreateFlags.REPLACE_DESTINATION));

// writing a short string to the stream
dos.put_string ("this is the first line\n");

そのため、出力ファイルを作成し、それに DataOutputStream を作成してから、ループを変更して to のデータを書き込む必要があり"string.txt"ます"index.html"。最終的には、次のようになります。

public static int main (string[] args) {
    File in_file = File.new_for_path ("string.txt");
    File out_file = File.new_for_path ("index.html");

    // delete the output file if it already exists (won't work otherwise if
    // it does)
    if (out_file.query_exists ()) {
        try {
            out_file.delete ();
        } catch (Error e) {
        stdout.printf ("Error: %s\n", e.message);
        }
    }

    try {
        // create your data input and output streams
        DataInputStream dis = new DataInputStream (in_file.read ());
        DataOutputStream dos = new DataOutputStream (out_file.create
            (FileCreateFlags.REPLACE_DESTINATION));

        string line;

        // write the data from string.txt to index.html line per line
        while ((line = dis.read_line ()) != null) {
            // you need to add a linebreak ("\n")
            dos.put_string (line+"\n");
        }
    } catch (Error e) {
        stdout.printf ("Error: %s\n", e.message);
    }
    return 0;
}
于 2013-08-06T10:00:15.357 に答える