gorogoronyan FC2

Node.js: はじめの一歩 (1)

初歩的な話なのでコールバックなどの記述は使わず、 手続きを並べた簡素なサンプルにしています。

コマンドラインパラメータの取得

process.argv で取得できます。
Node.js v12.18.4: process.argv

/*
node TestNodejs_process_argv1.js param1 param2 param3
*/
const argv = process.argv;

for (let i=0; i<argv.length; i++){
    console.log(i +":"+ argv[i]);
    //console.log("%s:%s", i, argv[i]);  //C言語 printf 風の書き方
}


実行例 (Windows10)
実行例 (Windows10)
パラメータは i=2 以降にセットされます。

テキストファイルの読み書き

ファイルの読み書きは、モジュール File System を使います。
Node.js v12.18.4: File system

Node.js で扱える文字コードは utf-8 です。 Shift_JIS (シフトJIS) や EUC_JP は扱いません。

その1

/*
node TestNodejs_fs_textfile_write_read1.js
*/
const FS = require("fs");
const text = "こんにちは\nHello\n";

//テキストファイルを書く, UTF-8 (BOM なし)で出力
FS.writeFileSync("sample1.txt", text);

//参考:こちらも一緒
//FS.writeFileSync("sample1.txt", text, { encoding:"utf8" } );

//テキストファイルを読む
const text2 = FS.readFileSync("sample1.txt", { encoding:"utf8" } );
console.log(text2);


実行例 (Windows10)
実行例 (Windows10)

\n は改行を表します。 改行文字には \n と \r\n の2種類があります。 現在は特に理由がなければ \n を使います。
HTML: 改行を表す文字コード
JavaScript: 文字列の処理: 文字と文字コード

● 改行文字

\n    HTML, Linux のテキストなど
\r\n  Windows のテキスト、昔のメモ帳などで保存したファイル
(補足) Windows7 以前のメモ帳で改行が \n のテキストを表示すると、 改行されずに表示されます。 Windows10 のメモ帳では \n だけでも改行と認識されます。
● 参考: 他の文字記号

\t    タブ

その2

テキストを行の配列として処理する例です。 配列に文字列を push() して、最後に join() で連結します。 読んだテキストファイルを行で分割するときには関数 split() を使います。
JavaScript: 文字列を連結する
JavaScript: テキストを行に分割する

/*
node TestNodejs_fs_textfile_write_read2.js
*/
const FS = require("fs");
const filename = "sample2.txt";

//テキストを作って、ファイルに保存する
const a = []; //配列を作る
a.push("こんにちは");
a.push("hello");
const text = a.join("\n");  // 改行コード \n で連結する
FS.writeFileSync(filename, text);

//テキストファイルを行の配列として読む
const list = readTextAsList(filename);
for (const line of list){
    console.log(line);
}

function readTextAsList(path){
    const text = FS.readFileSync(path, { encoding:"utf8" } );
    // text を \n で分割する
    const list = text.split("\n");
    return list;
}

文字コードについて

関連

inserted by FC2 system