Node.js——fs模块(文件系统),创建删除目录(文件),读取写入文件流

Posted jokehl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js——fs模块(文件系统),创建删除目录(文件),读取写入文件流相关的知识,希望对你有一定的参考价值。

  1 /* 
  2  1. fs.stat  检测是文件还是目录(目录 文件是否存在) 
  3  2. fs.mkdir  创建目录 (创建之前先判断是否存在) 
  4  3. fs.writeFile  写入文件(文件不存在就创建,但不能创建目录) 
  5  4. fs.appendFile 写入追加文件 
  6  5. fs.readFile 读取文件 
  7  6. fs.readdir 读取目录 
  8  7. fs.rename 重命名 
  9  8. fs.rmdir  删除目录 
 10  9. fs.unlink 删除文件 
 11 */
 12  
 13 var fs=require(fs);   //fs是node.js的核心模块,不用下载安装,可以直接引入  
 14  
 15 //1. fs.stat  检测是文件还是目录  fs.statSync()同步获取stats对象,通过返回值接收。
 16 fs.stat(html,function(error,stats){
 17     if(error){
 18         console.log(error);
 19         return false;
 20     }
 21     console.log(文件:+stats.isFile());
 22     console.log(目录:+stats.isDirectory());
 23 })
 24  
 25  
 26 //2. fs.mkdir  创建目录  
 27 fs.mkdir(css,function(error){
 28     if(error){
 29         console.log(error);
 30         return false;
 31     }
 32     console.log(创建目录成功);
 33 })
 34  
 35  
 36 //3. fs.writeFile  写入文件(会覆盖之前的内容)(文件不存在就创建)  utf8参数可以省略  
 37 fs.writeFile(123.txt,你好nodejs 覆盖,utf8,function(error){
 38     if(error){
 39         console.log(error);
 40         return false;
 41     }
 42     console.log(写入成功);
 43 })
 44  
 45  
 46 //4. fs.appendFile 追加文件  
 47 fs.appendFile(123.txt,这是写入的内容
,function(error){
 48     if(error){
 49         console.log(error);
 50         return false;
 51     }
 52     console.log(写入成功);
 53 })
 54  
 55  
 56 //5.fs.readFile 读取文件  
 57 fs.readFile(123.txt,function(error,data){
 58     if(error){
 59         console.log(error);
 60         return false;
 61     }
 62     //console.log(data);  //data是读取的十六进制的数据。  也可以在参数中加入编码格式"utf8"来解决十六进制的问题;
 63     console.log(data.toString());  //读取出所有行的信息  
 64 })
 65  
 66  
 67 //6.fs.readdir 读取目录下第一级内容  把目录下面的文件和文件夹都获取到。  
 68 fs.readdir(html,function(error,data){
 69     if(error){
 70         console.log(error);
 71         return false;
 72     }
 73     console.log(data);  //data是数组类型,包含文件夹以及文件的名字(只有第一级目录内容)。拿到一个文件夹下面的所有目录  
 74 })
 75  
 76  
 77 //7.fs.rename 重命名  1.改名  2.剪切文件(移动)  
 78 fs.rename(html/index.html,html/news.html,function(error){
 79     if(error){
 80         console.log(error);
 81         return false;
 82     }
 83     console.log(修改名字成功);
 84 })
 85  
 86  
 87 //8. fs.rmdir  删除目录   rmdir 这个方法只能删除目录,不能删除文件  
 88 fs.rmdir(abc目录,function(error){
 89     if(error){
 90         console.log(error);
 91         return false;
 92     }
 93     console.log(删除目录成功);
 94 })
 95  
 96  
 97 //9. fs.unlink删除文件  
 98 fs.unlink(index.txt,function(error){
 99     if(error){
100         console.log(error);
101         return false;
102     }
103     console.log(删除文件成功);
104 })
105  
106  
107 //10. fs.createReadStream  从文件流中读取数据,读取的文件比较大时建议用流的方式读取,文件比较大会多次读取。  
108 var fileReadStream = fs.createReadStream( data1.json);
109 var str = ‘‘;
110 fileReadStream.on(data, (data) => {
111     console.log("接收到" + data.length);   //文件比较大时,会多次读取,多次执行该回调函数  
112 str += data;
113 })
114 fileReadStream.on(end, () => {
115     console.log(" --- 结束 ---");
116 console.log( str );
117 })
118 fileReadStream.on(error, (error) => {
119     console.log(error)
120 })
121  
122  
123 //11. fs.createWriteStream  写入文件流  
124 var fs = require("fs");
125 var data  = "我是从数据库获取的数据,我要保存起来";
126 var writerStream = fs.createWriteStream(output.txt);
127 writerStream.write( data , UTF8 );
128 writerStream.end();  //标记文件末尾  结束写入流,释放资源  
129 writerStream.on( finish,  function() {
130     console.log("写入完成。");
131 });
132 writerStream.on( error,  function(error){
133     console.log(error.stack);
134 });
135 console.log("程序执行完毕");
136  
137  
138 //12. pipe 管道流  
139 var fs = require("fs");
140 var readerStream = fs.createReadStream( input.txt);
141 var writerStream = fs.createWriteStream( output.txt);
142 readerStream.pipe( writerStream );
143 console.log("程序执行完毕");
144  
145  
146 //13. fs.access 判断目录、文件是否存在(读写权限)
147 var  fs = require(fs);
148 fs.access(package.json,(err)=>{
149     console.log(err ?  目录/文件不存在: 文件存在,可以进行读写);
150 });
151  

作者:

链接:https://blog.csdn.net/houyanhua1/article/details/79443987

来源:CSDN

以上是关于Node.js——fs模块(文件系统),创建删除目录(文件),读取写入文件流的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 初识 fs 模块

Node.js模块

Node.js fs文件系统相关操作

Node.js fs文件系统相关操作

node.js 的系统模块——fs文件操作

初识 Node.js 丨fs 文件系统模块