ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejs での fs の意味は何ですか

Nodejs での fs の意味は何ですか

WBOY
WBOYオリジナル
2021-12-23 10:57:014860ブラウズ

nodejsの

fsとは、「file system」ファイルシステムの略称です。NodeJSが提供するファイル操作APIです。fsモジュールは、システムファイルやディレクトリの読み書きに使用されます。fsモジュールの全メソッド同期と非同期の 2 つの方法があります。

Nodejs での fs の意味は何ですか

このチュートリアルの動作環境: Windows10 システム、nodejs バージョン 12.19.0、DELL G3 コンピューター。

nodejs における fs の意味

##1.fs モジュールの紹介

fs の正式名称は file system で、NodeJS が提供するファイル操作 API です。 fs モジュールは、システム ファイルとディレクトリの読み書きに使用され、すべてのファイル操作がこれに基づいて行われる非常に重要なモジュールです。このモジュールのすべてのメソッドには同期メソッドと非同期メソッドがありますが、fs モジュールの共通メソッドを簡単に紹介します。

2. 単純な読み取りおよび書き込み操作には fs モジュールを使用します

Read files=> readFile (非同期読み取り) および readFileSync (同期読み取り)

fs.readFile(file_name[, options],function(err,data){
     //异步读取带两个必选参数和一个可选参数
     //必选参数:file_name文件路径名,callback回调函数,回调函数第一个参数是读取错误信息,第二个是文件里面的数据
     //一个可选参数:options该参数是一个对象,包含 {encoding, flag}。默认编码为二进制, flag 为 'w'
 })
 fs.readFileSync(file_name[, options])//同步读取带一个必选参数和一个可选参数,同上

簡単な実装は次のとおりです:

var fs=require('fs');   //引入fs模块
//异步读取
fs.readFile('aaa.txt',function(err,data){
    if(err){
        console.log('读取错误');
    }else{
        console.log('异步读取:'+data.toString());//因为data返回二进制数据,需要使用toString()方法转换 或者 可选参数填入文字编码 utf-8
    }
});
fs.readFile('aaa.txt','utf-8',function(err,data){
    if(err){
        console.log('读取错误');
    }else{
        console.log('异步读取:'+data);
    }
});
//同步读取
var data=fs.readFileSync('aaa.txt');
console.log('同步读取:'+data.toString());
var data=fs.readFileSync('aaa.txt','utf-8');
console.log('同步读取:'+data);

結果は次のように表示されます:

Nodejs での fs の意味は何ですか

#2. ファイルの書き込み => writeFile (非同期書き込み)そして writeFileSync (同期書き込み)

writeFile() はデフォルトで w モードでファイルを直接開くため、ファイルが存在する場合は、このメソッドによって書き込まれた内容が古いファイルの内容を上書きします。 , 新しいファイルが作成されます

fs.writeFile(file_name,data[, options],function(err){
     //异步写入带三个必选参数和一个可选参数
     //三个必选参数:file_name文件名,data写入的文件信息,function一个回调函数,回调函数带的参数是写入错误信息
     //一个可选参数:options该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 'w'
 })
 fs.writeFile(file_name,data[, options])//同步写入带二个必选参数和一个可选参数,参数含义如上少一个回调函数
var fs=require('fs');
//异步写入
fs.writeFile('aaa.txt','写入文件信息',function(err){
    console.log(err);
})
//同步写入
fs.writeFileSync('aaa.txt','写入文件信息');

結果表示:

Nodejs での fs の意味は何ですか

##4. モジュールの小さな練習

##ここで、 fs モジュールと以前に連絡した http モジュールを統合して、フロントエンド検索ファイルに応答するファイルをサーバーから作成し、対応する戻り値を返す簡単な小さなデモを作成して統合します。

var http=require('http');
var fs=require('fs');
var querystring=require('querystring');
var urlLib=require('url');
http.createServer(function(req,res){
    //GET请求解析数据
    var obj=urlLib.parse(req.url,true);
    var url=obj.pathname;
    var GET=obj.query;
    //POST请求解析数据
    var str='';
    res.on('data',function(data){
        str+=data;
    })
    res.on('end',function(){
        var POST=querystring(str);
    })
    //文件请求
    var file_name='./www'+url;
    fs.readFile(file_name,function(err,data){
        if(err){
            res.write('404');//找不到文件返回404
        }else{
            res.write(data);//找到文件返回文件信息
        }
        res.end();
    })
}).listen(8080)

[推奨される学習: "

nodejs チュートリアル

"]

以上がNodejs での fs の意味は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。