你的位置:首页 > 网页设计

[网页设计]Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流

0
 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


0
您可能感兴趣的文章