Home  >  Article  >  Web Front-end  >  What does fs mean in nodejs

What does fs mean in nodejs

WBOY
WBOYOriginal
2021-12-23 10:57:014861browse

fs in nodejs is the abbreviation of "file system" file system. It is the file operation API provided by NodeJS. The fs module is used to read and write system files and directories. All methods of the fs module have synchronization and Asynchronous in two ways.

What does fs mean in nodejs

The operating environment of this tutorial: windows10 system, nodejs version 12.19.0, DELL G3 computer.

What does fs mean in nodejs

##1.fs module introduction

The full name of fs is file system, which is the file operation API provided by NodeJS. The fs module is used to read and write system files and directories. It is a very important module, and all file operations are based on it. All methods of this module have both synchronous and asynchronous methods. Let’s briefly introduce the common methods of the fs module.

2. Use the fs module for simple read and write operations

Read files=> readFile (asynchronous reading) and readFileSync (synchronous reading)

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

The simple implementation is as follows:

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

The results are displayed as follows:

What does fs mean in nodejs##2. Write file => writeFile (asynchronous writing) and writeFileSync (synchronous writing)

writeFile() directly opens the file in w mode by default, so if the file exists, the content written by this method will overwrite the old file content. If the file does not exist, a new file will be created

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

Result display:

What does fs mean in nodejs#4. Small practice on the module

Here, combine the fs module with the http module we contacted earlier to make a small Integrate and write a simple small demo that creates a file from the server to responds to the front-end search file and makes the corresponding return:

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)

[Recommended learning: "

nodejs tutorial

"]

The above is the detailed content of What does fs mean in nodejs. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn