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的模块写法入门(实例代码)
Mar 07 NodeJs
Nodejs极简入门教程(三):进程
Oct 27 NodeJs
nodejs开发环境配置与使用
Nov 17 NodeJs
轻松创建nodejs服务器(9):实现非阻塞操作
Dec 18 NodeJs
nodejs初步体验篇
Nov 23 NodeJs
nodejs批量下载图片的实现方法
May 19 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
Nodejs 和Session 原理及实战技巧小结
Aug 25 NodeJs
Nodejs实现文件上传的示例代码
Sep 26 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
NodeJS模块与ES6模块系统语法及注意点详解
Jan 04 NodeJs
nodejs使用node-xlsx生成excel的方法示例
Aug 22 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
动态生成gif格式的图像要注意?
2006/10/09 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
彻底搞懂Python字符编码
2018/01/23 Python
Python3.5运算符操作实例详解
2019/04/25 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
a标签下载链接的简单实现
2016/09/13 HTML / CSS
软件工程师面试题
2012/06/25 面试题
老公给老婆的道歉信
2014/01/10 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
机关会计岗位职责
2014/04/08 职场文书
IT工程师岗位职责
2014/07/04 职场文书
2014年外联部工作总结
2014/11/17 职场文书
门卫管理制度范本
2015/08/05 职场文书
2016党员入党决心书
2015/09/22 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android