サーバーサイドファイル操作

【Node.js】 ファイルをとりあえず読み込んでみる

更新日:2020/06/15

Node.jsでファイルを読み込む方法について、簡単に記述しておきます。

 

方法1:同期読み込み fs.readFileSync

ファイルを同期読み込みする場合は、readFileSync()メソッドを使用する。


const fs = require( "fs" );

try{
    const fileData = fs.readFileSync( "file.xml" );

    console.log( fileData.toString() );

}catch( e ){

    console.error( e.message );
}

テキストを文字列で取得するには、readFileSync()で得たオブジェクトが持っているtoString()を使用する。

もしくは、次の例のようにreadFileSync()の第二引数に文字のエンコードを指定する。


const fileData = fs.readFileSync( "file.xml" , <span class="red">"utf-8"</span> );
console.log( fileData );

指定したファイルが存在しないとき、readFileSync()はENOENT例外をスローします。

 

方法2:非同期読み込み fs.readFile

ファイルを非同期で読み込む場合は、readFile()メソッドを使用する。


const fs = require( "fs" );
fs.readFile( "file.xml" ,
        ( err , data ) =>{

            if( err ) { console.error( err.message );return; }

            console.log( data.toString() );
       });

readFile()の第二引数は、コールバック関数を指定する。

ファイルが存在しないなどで読み込めない場合、コールバック関数の第一引数にエラーオブジェクトがセットされます。
読み込めた場合は、falseと判定される値が返ります。

コールバック関数の第二引数は、読み込んだデータです。

文字列として利用するには、第二引数で得たオブジェクトが持っているtoString()を使用します。
もしくは、次の例のようにreadFile()の第二引数に文字のエンコードを、第三引数にコールバックを指定します。


fs.readFile( "file.xml" ,"utf-8",
        (err,data) =>{
            if( err ) {
                console.error( err.message );return;
            }
            console.log( data );
        });

更新日:2020/06/15

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。