MENU

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

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

更新日:2020/06/15

 

 

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

 

■お願い
去年ECMAScript2020を頑張って日本語訳しましたが、誰も見てくれません・・・
誰かみて!!
【JavaScript】 学習のためECMAScript2020を日本語訳してみました

方法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 );
        });

記事の内容について

 

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


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

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

そんなときは、ご意見もらえたら嬉しいです。

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

【お願い】

お願い

■このページのURL


■このページのタイトル


■リンクタグ