Maison  >  Article  >  interface Web  >  Que signifie fs dans nodejs

Que signifie fs dans nodejs

WBOY
WBOYoriginal
2021-12-23 10:57:014841parcourir

fs dans nodejs est l'abréviation de "système de fichiers" et est l'API d'opération de fichiers fournie par NodeJS. Le module fs est utilisé pour lire et écrire des fichiers et des répertoires système. Toutes les méthodes du module fs ont des méthodes synchrones et asynchrones. .

Que signifie fs dans nodejs

L'environnement d'exploitation de ce tutoriel : système Windows 10, nodejs version 12.19.0, ordinateur DELL G3.

Que signifie fs dans nodejs

1.fs introduction du module

Le nom complet de fs est le système de fichiers (système de fichiers), qui est l'API d'opération de fichier fournie par NodeJS. Le module fs est utilisé pour lire et écrire des fichiers et répertoires système. C'est un module très important sur lequel toutes les opérations sur les fichiers sont basées. Toutes les méthodes de ce module ont à la fois des méthodes synchrones et asynchrones. Présentons brièvement les méthodes courantes du module fs.

2. Utilisez le module fs pour effectuer des opérations simples de lecture et d'écriture

Read files => readFile (lecture asynchrone) et readFileSync (lecture synchrone)

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

L'implémentation simple est la suivante :

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);

Les résultats sont affiché comme suit :

Que signifie fs dans nodejs

2. Write file => writeFile (écriture asynchrone) et writeFileSync (écriture synchrone)

writeFile() ouvre directement le fichier en mode w par défaut, donc si le fichier existe, le contenu écrit par cette méthode L'ancien contenu du fichier sera écrasé Si le fichier n'existe pas, un nouveau fichier sera créé

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','写入文件信息');

Affichage du résultat :

Que signifie fs dans nodejs

4. avec le module http que nous avons contacté plus tôt pour faire une petite intégration. Écrivez une petite démo simple qui crée un fichier à partir du serveur pour répondre au fichier de recherche front-end et renvoie la réponse correspondante :

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)

[Apprentissage recommandé : "

Tutoriel nodejs

"]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn