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 实现模拟form表单上传文件
Jul 14 NodeJs
Nodejs Post请求报socket hang up错误的解决办法
Sep 25 NodeJs
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
Nov 21 NodeJs
nodejs搭建本地服务器轻松解决跨域问题
Mar 21 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
nodejs基础之常用工具模块util用法分析
Dec 26 NodeJs
nodejs搭建本地服务器并访问文件操作示例
May 11 NodeJs
nodejs中使用archive压缩文件的实现代码
Nov 26 NodeJs
nodejs脚本centos开机启动实操方法
Mar 04 NodeJs
NodeJS模块Buffer原理及使用方法解析
Nov 11 NodeJs
详解nodejs内置模块
May 06 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使用正则表达式获取字符串中的URL
2016/12/29 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
js switch case default 的用法示例介绍
2013/10/23 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Python如何生成树形图案
2018/01/03 Python
Python格式化日期时间操作示例
2018/06/28 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
浅谈python中get pass用法
2019/03/19 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
Keras模型转成tensorflow的.pb操作
2020/07/06 Python
python GUI计算器的实现
2020/10/09 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
美国高级音响品牌:Master&Dynamic
2018/07/05 全球购物
美丽的现代设计家具:2Modern
2018/07/26 全球购物
企业管理毕业生求职信范文
2014/03/07 职场文书
教研活动总结
2014/04/28 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
春节随笔
2015/08/15 职场文书
学生病假条怎么写
2015/08/17 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
详解Python函数print用法
2021/06/18 Python
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android