Node学习基础(三) 之文件的同步和异步写入操作(fs_文件系统)

版权声明: https://blog.csdn.net/qq_41542894/article/details/82229607

下面遇到看不懂的可以去看官方文档

首先引入fs模块

第二步打开文件

 官方文档格式是这样 

path 文件路径  这里例子里是FileHello.txt  如果没有这个文件 所以他会自动创建 FileHello.txt

  1. fs-同步文件写入操作 
    //1.引入fs模块
    let fs = require('fs');
    //2.打开文件
    let fd = fs.openSync('FileHello.txt','w');
    //3.写入内容
    fs.writeFileSync(fd, "你好我是第一句被写入的话");
    //4.保存并退出
    fs.closeSync(fd);*/

文件。

flags可以是以下的值

‘r’ –   以读取模式打开文件。
‘r+’ – 以读写模式打开文件。
‘rs’ – 使用同步模式打开并读取文件。指示操作系统忽略本地文件系统缓存。
‘rs+’ – 以同步的方式打开,读取 并 写入文件。
 
‘w’ – 以读取模式打开文件,如果文件不存在则创建
‘wx’ – 和 ‘ w ‘ 模式一样,如果文件存在则返回失败
‘w+’ – 以读写模式打开文件,如果文件不存在则创建
‘wx+’ – 和 ‘ w+ ‘ 模式一样,如果文件存在则返回失败
 
‘a’ – 以追加模式打开文件,如果文件不存在则创建
‘ax’ – 和 ‘ a ‘ 模式一样,如果文件存在则返回失败
‘a+’ – 以读取追加模式打开文件,如果文件不存在则创建
‘ax+’ – 和 ‘ a+ ‘ 模式一样,如果文件存在则返回失败


mode    用于创建文件时给文件制定权限,默认0666

 然后关闭文件

运行就能在文件中看到写入的内容了 

 

 fs-异步写入文件操作(重点)

//1.引入fs模块
let fs = require('fs');
//2.打开文件
fs.open('FileHello2','w',(err , fd)=>{

    //判断是否出错
    if(!err){
        //写入文件
        fs.writeFile(fd , "这是个测试的内容" ,(err)=>{
            if(!err){
                console.log("写入文件成功");
            }else{
                throw err;
            }

            //关闭文件
            fs.close(fd, (err)=>{
                if(!err){
                    console.log("文件已经保存并关闭");
                }
            })
        });
    }else{
        throw err;
    }
});

//异步访问不会有结果,只能是回调,异步就是node的特色,异步不会阻塞线程

一样 先打开文件格式如下

 这里的callback 就是我们异步的重点了  和同步不同就在于这个异步回调

callback有两个值err(错误)和 fd(文件)

如果错误直接抛出错误  

如果没有继续执行写入文件

然后执行我们的关闭文件操作

关闭文件在写入文件之后 

同样的 callback

使用回调判断 

注意:异步访问不会有结果,只能是回调,异步就是node的特色,异步不会阻塞线程

猜你喜欢

转载自blog.csdn.net/qq_41542894/article/details/82229607