node-fs文件系统模块
在node环境中所有与文件操作都是通过fs核心模块实现的。包括文件的创建、删除、查询以及读写和写入
在 fs 模块中,所有的方法都分为同步和异步两种实现,具有 sync 后缀的方法为同步方法,不具有 sync 后缀的方法为异步方法
文件读取
同步文件读取readFileSync
第一个参数为读取文件的路径或文件描述符;
第二个参数为 options,默认值为 null
const fs = require('fs');
fs.readFile('./www/1.txt',(error,data)=>{
if(error){
console.log('404');
}else{
console.log(data.toString());
}
});
//readFileSycn只有成功状态,找不到就报错
try {
let data = fs.readFileSync('./www/1.txt');
console.log(data.toString());
} catch (error) {
}
console.log(11111);
异步文件读取readFile
第一个参数为读取文件的路径或文件描述符
第二个参数为 options,默认值为 null
第三个参数为callback回调函数
函数内有两个参数 err(错误)和 data(数据),该方法没有返回值,回调函数在读取文件成功后执行
//文件的读取
fs.readFile("1.txt",function (err,data) {
if (err){
console.log(err)
}else {
console.log(data.toString())
}
})
文件写入
同步文件写入writeFileSync
第一个参数为写入文件的路径或文件描述符
第二个参数为写入的数据,类型为 String 或 Buffer
第三个参数为 options,默认值为 null
const fs = require("fs");
fs.writeFileSync("2.txt", "Hello world");
let data = fs.readFileSync("2.txt", "utf8");
console.log(data);
异步文件写入writeFile
第一个参数为读取文件的路径或文件描述符
第二个参数为 options,默认值为 null
let fs = require('fs');
fs.writeFile('./www/2.txt','dsnadkjsjdksa',(error)=>{
if(error){
console.log('失败');
}else{
console.log('成功');
}
})
文件删除
同步文件删除unlinkSync
const fs = require("fs");
fs.unlinkSync("a/inde.js");
异步文件删除unlink
const fs = require("fs");
fs.unlink("a/index.js", err => {
if (!err) console.log("删除成功");
});
栗子—判断URL是接口还是请求静态资源(页面)
思路:
如果url里面包含?就说明请求的是接口
否则是静态文件。需要拼地址
let http = require('http');//引入http模块用来构建服务器
let fs = require('fs');//需要读写删等操作时候就引入fs文件系统模块
http.createServer((req,res)=>{
//判断是请求接口还是请求静态页面
let url = req.url;
if(url.includes('?')){//如果url包含?代表请求的是接口
//向客户端发送头信息(防止中文乱码)
res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
res.write('每天进步一点点');
res.end();
}else{//否则请求的是静态页面
// 斜杠代表 localhost
//默认出现index文件
if(url === '/') {url = '/inex.html';}
//读入文件
fs.readFile('./www'+url,(err,data)=>{
if(err){
//如果没有文件,就读取404页面
let data = fs.readFileSync('./www./404.html');
res.write(data);
}else{
//如果有文件就把文件发给前台
res.write(data);
}
res.end();//写入结束
});
}
}).listen(80);//监听端口
node-fs文件系统模块的更多相关文章
- Node.js:fs文件系统模块
fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, ...
- node.js中fs文件系统模块的使用
node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作. fs模块中,所有的方法分为同步和异步两种实现. 有 sync 后缀的方法为同步方法,没有 sync 后缀的方法 ...
- Node.js fs文件系统模块
一.读取文件几个步骤 1.先引入fs文件系统模块 2.使用readfile 或 readFileSync 注意点:它们的回调函数有两个参数,第一个是err,第二个是data,得到的data是buffe ...
- 运用node的文件系统模块批量修改文件名
如果我们需要大批量修改一个文件中的名称,比如,删除文件名中的副本时,就可以借助node的文件系统模块,快捷快速的完成. 首先建立一个js文件(changeName.js),代码如下: // 引入f ...
- Node.js 文件系统模块
章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...
- NodeJs FS 文件系统模块
1. fs.stat 检测是文件还是目录 fs.stat('html',function(err,stats){ if(err){ console.log(err); return false; } ...
- node.js常用的fs文件系统
fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的 ...
- node.js中常用的fs文件系统
fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的 ...
- 33.Node.js 文件系统fs
转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API. Node ...
随机推荐
- Linux/Ubuntu 16.04 安装编辑器 Sublime Text 3
在ubuntu 16.04 系统上使用Sublime Text 3 编辑文本还是不错的, 先到官网下载安装包,链接:http://www.sublimetext.com/3 ,下载对应的版本,64位或 ...
- 在Windows 10 x64 编译ReactOS-0.4.5源码并在VMare中运行
1.首先下载ReactOS源码(版本是0.4.5,最新版本0.4.9暂没有编译),然后下载RosBe(版本是2.1.6) 2.将下载好的ReactOS源码包放到指定磁盘的文件夹中,目录路径为英文(重要 ...
- MySql 触发器的新增、修改、删除的创建
MySql 触发器与SQL server 触发器不同: SQL Server 使用 inserted.deleted 代表被触发的数据. MySQL NEW代表触发后的新数据行,Old代表当前触发 ...
- 在vultr安装和使用golang
1.vultr可以用微信或支付宝充值,方便.好像推荐别人用还能挣美分,懒得弄了,参加了一个充10刀送50刀的活动,感觉实惠(实际用时感觉有点小贵). 2.注册登录后,控制面板上billing可查看余额 ...
- 通过getResourceAsStream 获得Properties文件属性和属性值
1.Class.getResourceAsStream(String path) path:不以‘/’开头默认是从此类所在的包下取资源:以'/'开头则是从ClassPath根目录下获取 2.Class ...
- 移动开发的捷径:3种方式轻松创建webapp
移动开发行业发展迅速,为迎合用户的需求,大多数传统互联网公司在主导web网站的同时还需兼顾移动开发方向.在已有PC端网站的基础上,考虑到人力.成本和技术.开发周期等因素,许多公司会选择开发快速.维护便 ...
- fullcalendar日历插件的使用并动态增删改查
我上个项目是做了一个关于教育方面的web端页面,其中的课程表就要用到fullcalendar日历插件,刚开始也是不会用,因为以前也没用过,后面也是看官方文档,问同事,最后完成了这个课程表,个人感觉fu ...
- 类Objects
Object类是什么? 在JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍 ...
- CSS3 animation 与JQ animate()的区别
CSS3 与 JQ 根本区别 css3 animation与jQuery animate()区别在于实现机制不同 C3和JQ 完成动画的优缺点 1.css3中的过渡和animation动画都是基于cs ...
- Python 安装 (win10)
1. 下载python 网址: python.org 版本: 2.7 安装包名字: Windows x86-64 MSI installer 一路next. 2. 配置环境变量: path 里面添加p ...