Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流
程序员文章站
2022-03-04 14:02:39
作者:houyanhua1 链接:https://blog.csdn.net/houyanhua1/article/details/79443987 来源:CSDN ......
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','这是写入的内容\n',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
作者:houyanhua1
链接:https://blog.csdn.net/houyanhua1/article/details/79443987
来源:csdn
上一篇: Vue Axios前后端数据交互(三)
下一篇: JS原型链