分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

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

发布时间:2023-09-06 02:20责任编辑:苏小强关键词:jsNode
 ?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

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

原文地址:https://www.cnblogs.com/jokehl/p/9866317.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved