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 保存 payload 发送过来的文件
Jan 14 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Jul 26 NodeJs
图片上传之FileAPI与NodeJs
Jan 24 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
NodeJs搭建本地服务器之使用手机访问的实例讲解
May 12 NodeJs
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
May 15 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 NodeJs
nodejs读取图片返回给浏览器显示
Jul 25 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的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
php实现文章评论系统
2019/02/18 PHP
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
学习python需要有编程基础吗
2020/06/02 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
英国家电直销:Appliances Direct
2016/09/22 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
大学生创业计划书的用途
2014/01/08 职场文书
公司道歉信范文
2014/01/09 职场文书
大学新生欢迎词
2014/01/10 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
体操比赛口号
2014/06/10 职场文书
婚宴父亲致辞
2015/07/27 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang