十Node.js-fs模块(上)
Posted luzhanshi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十Node.js-fs模块(上)相关的知识,希望对你有一定的参考价值。
Node.js内置的fs
模块就是文件系统模块,负责读写文件以及对文件进行相关操作。
下面直接可参考下面的代码进行fs模块里面基本方法的学习:
/** * Created by Administrator on 2019/4/23. */ /*注意,下面操作的文件如果是磁盘其他位置的文件,路径可以写做: * C:/Users/Administrator/Desktop/新建 DOC 文档.doc * 如果写做:C:\Users\Administrator\Desktop\新建 DOC 文档.doc就会报错 * 具体原因有待研究 * */ /* 1. fs.stat 检测是文件还是目录 2. fs.mkdir 创建目录 3. fs.writeFile 创建文件并写入内容 4. fs.appendFile 创建文件并追加内容 5.fs.readFile 读取文件内容 6.fs.readdir读取目录 7.fs.rename 重命名 8. fs.rmdir 删除目录 9. fs.unlink删除文件 */ /*1. fs.stat 检测是文件还是目录*/ var fs=require("fs"); fs.stat(‘html‘,function (err,stats) { if (err){ console.log(err); return false; } console.log(‘文件:‘+stats.isFile()); console.log(‘目录:‘+stats.isDirectory()); /*文件:false 目录:true*/ }) /*2. fs.mkdir 创建目录*/ //接收参数: //path 将创建的目录路径 //mode 目录权限(读写权限),默认0777 //callback 回调,传递异常参数err fs.mkdir(‘css‘,function (err) {//该回调函数不需要返回信息,只需要监听失败信息即可 if (err){ console.log(err);//例如所创建的文件夹已经存在就会返回错误信息 return false; }else { console.log(‘创建css目录成功!‘); } }) //3. fs.writeFile 创建文件并写入内容 //如果文件不存在先创建文件,如果文件存在,就会直接写入内容并覆盖原来的内容 //filename (String) 文件名称 //data (String | Buffer) 将要写入的内容,可以使字符串 或 buffer数据。 //options (Object) option数组对象,包含: //· encoding (string) 可选值,默认 ‘utf8′,当data使buffer时,该值应该为 ignored。 //· mode (Number) 文件读写权限,默认值 438 //· flag (String) 默认值 ‘w‘ //callback {Function} 回调,传递一个异常参数err。 fs.writeFile("writeFileTest.java",‘这一句是写入writeFileTest.java这个文件的内容‘,‘utf8‘,function (err) { if (err){ console.log(err);// return false; }else { console.log(‘创建文件并写入内容成功!‘); } }) //4. fs.appendFile 追加文件 //如果文件不存在先创建文件,如果文件存在,就会直接写入内容并追加到原来的内容之后(可以用来记录日志) fs.appendFile(‘appendFileTest.txt‘,‘这是追加写入appendFileTest.txt文件的内容\n‘,function (err) { if (err){ console.log(err); }else { ‘创建文件并且写入(追加)内容成功!!!‘ } }) //5.fs.readFile 读取文件 fs.readFile(‘appendFileTest.txt‘,function (err,data) { if(err){ console.log(err); }else{ console.log(data);//打印出的是16进制的内容<Buffer e8 bf 99 e6 98 af e8 bf bd e5 8a a0 e5 86 99 e5 85 a5 61 70 70 65 6e 64 46 69 6c 65 54 65 73 74 2e 74 78 74 e6 96 87 e4 bb b6 e7 9a 84 e5 86 85 e5 ae ... > console.log(data.toString());//打印出的是我们正常的文本信息 } }) //6.fs.readdir读取目录 把目录下面的文件和文件夹都获取到。 /* * 注意只读取该文件夹的子项,不能读取孙子项 * */ fs.readdir(‘html‘,function (err,data) { if (err){ console.log(err); }else{ console.log(data); /*[ ‘css‘, ‘index.html‘, ‘js‘ ]*/ } }) //7.fs.rename 重命名 //用例1.改名 fs.rename("html/index1.html","html/index2.html",function (err) { if (err){ console.log(err);//李如指定文件不存在的情况就会报错 }else{ console.log(‘改名成功!‘); } }) //用例2.剪切文件:把html文件夹下面的index2.html文件剪切到html/css/文件夹下面 fs.rename("html/index2.html","html/css/index2.html",function (err) { if (err){ console.log(err);//李如指定文件不存在的情况就会报错 }else{ console.log(‘改名成功!‘); } }) //8. fs.rmdir 删除目录;不能删除文件 /*注意如果目录不为空会报错:Error: ENOTEMPTY: directory not empty*/ fs.rmdir("css/t",function (err) { if (err){ console.log(err);// }else{ console.log(‘删除文件夹成功!‘); } }) //9. fs.unlink删除文件 fs.unlink("C:/Users/Administrator/Desktop/新建 DOC 文档.doc",function (err) { if (err){ console.log(err);// }else{ console.log(‘删除文件成功!‘); } })
以上是关于十Node.js-fs模块(上)的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段