nodejs中内置模块fs,path常见的用法说明


Posted in NodeJs onNovember 07, 2020

readFile

readFileSync 同步读取数据

var fs=require('fs');

fs.readFileSync('./a.txt');

readFile 异步读取数据

var fs=require('fs'); //引入文件
fs.readFile('./a.txt',function(err,data){

//当异步读取完文件数据后执行该回调函数中代码
//err 错误对象;
//data 数据
if(err){
 console.log('读取文件出错');
return;
 }
 //正常打印数据
 console.log(data.toString());
})
console.log('111');

写文件writeFile

writeFileSync 同步读取数据

var fs=require('fs'); //引入内置模块

fs.writeFileSync("b.txt","我是写入的内容");

writeFile 异步读取数据

fs.writeFile('c.txt','我是写入的内容',function(err){
 if(err){
 console.log('写文件出错');
 return;
}
console.log('写文件出错');

})
console.log('111');

练习

var fs=require('fs'); //引入文件模块

fs.mkdirSync('./web1804'); //同步创建目录;
fs.writeFileSync('./web1804/node1.txt','这是我的学习笔记');
var data=fs.readFileSync('./web1804/node1.txt');
console.log(data.toString());

fs.mkdir('./web1804_1',function(err){
  if(err){
 console.log('创建目录失败');
 return;
  }
  console.log('创建目录成功');
})

var isExist=fs.existsSync('./web1804');

拓展

1、文件删除;

2、创建多级目录 d:/web1804/javascript/css

3、删除文件目录

4、复制文件

创建目录fs.mkdir

检测是文件还是目录 fs.stat

写入追加文件 fs.oppendFile

读取目录fs.readdir

重命名 rename

删除目录 rmdir

删除文件 unlink

path

var path=require('path);
var psth1="http://www.baidu.com.cn/img.jpg ";

var index=psth1.indexOf('/');
console.log(index);

var lastindex=psth1.lastIndexOf('/'); //从后向前获取指定字符在字符串中的序号
var sub=path1.substring(lastindex+1); //substring(index) 返回指定序号index后的子字符串
console.log('sub:+'+sub);

path.basename返回路径的最后一部分

var psth1="http://www.baidu.com.cn/img.jpg "; 
var imgName=path.basename(path1); //返回路径的最后一部分,个人认为用这个来获取文件名或者URL中带的参数
console.log(imgName);

path.jion

var paths=path.jion('web1804','html','css');

console.log(paths); //web1804\html\css

path.parse返回路径字符串的对象

var path1='http://www.baidu.com.cn/img.jpg';
var url=path.parse(path1);
console.log(url);

console.log(_dirname); 当前绝对路径

拓展

substring(); 返回指定序号index后的子字符串;

lastIdexOf 从后向前获取指定字符中在字符串中序号;

补充知识:NodeJs内置的url、path、http模块的应用

1.url模块:

//引入url模块
var url = require("url");

//假设一个网址
var href = "http://www.baidu.com?name=jhh&age=20";

//将网址解析成一个Url对象
var obj = url.parse(href,true);
console.log(obj);

//获取Url对象中的query对象
var query = obj.query;
console.log("queryName:"+query.name);
console.log("queryAge:"+query.age);

2.path模块:

//引入path模块
var p = require("path");

//自定义绝对路径
var path = "C:\\jhh\\text\\js";

//去掉最后一层
console.log(p.dirname(path)); //C:\jhh\text

//取最后一层
console.log(p.basename(path)); //js

3.http模块:

//引入http模块
var http = require("http");

//创建web服务器
var server = http.createServer();

//监听请求
server.on("request",function (request, response) {
  console.log("收到用户请求:"+request.method);
  var url = request.url;
  var msg = "";
  if(url == "/"){
    msg = "这是主页"
  }else if(url == "/login"){
    msg = "这是登录页"
  }else {
    msg = "404";
  }
  //解决相应乱码
  response.setHeader("content-type","text/html;charset=utf-8");

  //相应数据
  response.write(msg);

  //结束相应
  response.end();
});

//启动服务器
server.listen(8081,function () {
  console.log("服务器启动")
});

以上这篇nodejs中内置模块fs,path常见的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
Jan 12 NodeJs
Nodejs高扩展性的模板引擎 functmpl简介
Feb 13 NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 NodeJs
详谈Angular路由与Nodejs路由的区别
Mar 05 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
理解nodejs的stream和pipe机制的原理和实现
Aug 12 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
nodejs实现爬取网站图片功能
Dec 14 NodeJs
关于Mac下安装nodejs、npm和cnpm的教程
Apr 11 NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 07 #NodeJs
nodejs+koa2 实现模仿springMVC框架
Oct 21 #NodeJs
nodejs使用Sequelize框架操作数据库的实现
Oct 21 #NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 #NodeJs
Nodejs在局域网配置https访问的实现方法
Oct 17 #NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 #NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 #NodeJs
You might like
php实现快速排序的三种方法分享
2014/03/12 PHP
php实现的漂亮分页方法
2014/04/17 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
package.json文件配置详解
2017/06/15 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
[00:43]魔廷新尊——痛苦女王至宝捆绑包
2020/06/12 DOTA
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
python实现屏保计时器的示例代码
2018/08/08 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
django API 中接口的互相调用实例
2020/04/01 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
教师评优的个人自我评价分享
2013/09/19 职场文书
法律专业实习鉴定
2013/12/22 职场文书
小区门卫管理制度
2014/01/29 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
公司捐书倡议书
2015/04/27 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
2015暑假实习报告范文
2015/07/13 职场文书