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 相关文章推荐
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
nodejs 整合kindEditor实现图片上传
Feb 03 NodeJs
NodeJS中利用Promise来封装异步函数
Feb 25 NodeJs
基于nodejs+express(4.x+)实现文件上传功能
Nov 23 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
nodeJS删除文件方法示例
Dec 25 NodeJs
NodeJS遍历文件生产文件列表功能示例
Jan 22 NodeJs
详解nodejs中的process进程
Mar 19 NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Apr 27 NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 NodeJs
nodejs各种姿势断点调试的方法
Jun 18 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
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
用PHP编程开发“虚拟域名”系统
2006/10/09 PHP
构建简单的Webmail系统
2006/10/09 PHP
PHP has encountered an Access Violation
2007/01/15 PHP
PHP实现下载功能的代码
2012/09/29 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
微信支付开发发货通知实例
2016/07/12 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
PHP判断一个变量是否为整数、正整数的方法示例
2019/09/11 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
Python读取键盘输入的2种方法
2015/06/16 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
python 阶乘累加和的实例
2019/02/01 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
杭州龙健科技笔试题.net部分笔试题
2016/01/24 面试题
2014年高三毕业生自我评价
2014/01/11 职场文书
清明节随笔
2015/08/15 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP