博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node学习基础(三) 之文件的同步和异步写入操作(fs_文件系统)
阅读量:3907 次
发布时间:2019-05-23

本文共 1410 字,大约阅读时间需要 4 分钟。

下面遇到看不懂的可以去看。

首先引入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的特色,异步不会阻塞线程

 

你可能感兴趣的文章
Nginx upstream schedule strategy
查看>>
Redis Brief Intro
查看>>
Nginx Basic Config
查看>>
Nginx Load Balancer Config
查看>>
Nginx config hight throughput
查看>>
mysql max_connection config
查看>>
Python improve performance
查看>>
mysql interview questions and answers
查看>>
File & File system size limitation for Redhat
查看>>
Python decorator guide
查看>>
interview sorting algorithm summary
查看>>
Python continue, else and pass
查看>>
mysql index and search improve
查看>>
Memcache Brief Intro
查看>>
DB sharding and ID design
查看>>
DB slave master architecture - read, write separation
查看>>
mysql replication by mysqldump & xtrabackup
查看>>
mysql replication copy master to slave
查看>>
linux/unix rules for naming file and directory
查看>>
Identify Linux File System Type
查看>>