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教程 安装express及配置app.js文件的详细步骤
May 11 NodeJs
跟我学Nodejs(一)--- Node.js简介及安装开发环境
May 20 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
详解nodejs 文本操作模块-fs模块(五)
Dec 23 NodeJs
windows 下安装nodejs 环境变量设置
Feb 02 NodeJs
NodeJs模拟登陆正方教务
Apr 28 NodeJs
深入解析nodejs HTTP服务
Jul 25 NodeJs
使用Nodejs连接mongodb数据库的实现代码
Aug 21 NodeJs
原生nodejs使用websocket代码分享
Apr 07 NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 NodeJs
基于nodejs的微信JS-SDK简单应用实现
May 21 NodeJs
nodejs实现用户登录路由功能
May 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
类的另类用法--数据的封装
2006/10/09 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
python3制作捧腹网段子页爬虫
2017/02/12 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
python标准库OS模块详解
2020/03/10 Python
python Selenium 库的使用技巧
2020/10/16 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
施工工地安全标语
2014/06/07 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
第一节英语课开场白
2015/06/01 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书