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 ...
随机推荐
- kali中的postgres怎么连接
metasploit,默认使用的是postgresql数据库.在BT5或是Kali等专业的渗透系统中,postgresql已经被默认安装. 执行msfdb init会自动创建一个默认的用户名密码都是m ...
- firewalld防火墙设置
CentOS7/RHEL7系统默认的iptables管理工具是firewalld,不再是以往的iptables-services,命令用起来也是不一样了,当然你也可以选择卸载firewalld,安装i ...
- win2008server R2 x64 部署.net core到IIS--ASP .NET Core HTTP Error 502.5 – Process Failure
服务器win2008server R2 x64 部署.net core到IIS 解决ASP .NET Core HTTP Error 502.5 – Process Failure 问题等 1.发布网 ...
- MacOS 10.13.6 下装xcode 流程
1.最好先安装brew https://github.com/Homebrew/brew/releases 自动安装脚本 /usr/bin/ruby -e "$(curl -fsSL htt ...
- Linux基础学习:目录配置
Linux 目录配置标准:FHS FHS:即Filesystem Hierarchy Stabdard,文件配置标准.其主要目的是希望用户可以了解已安装软件通常放置在哪个目录下. FHS根据文件系统使 ...
- 012_python在shell下单行执行多行代码
一.有时候只是简单的获取下时间戳,不想在python解释器的交互模式下再去执行python代码,如何实现呢? 以循环输出多行为例: (1)第一种方式: python -c "exec(\&q ...
- 如何在本地测试Fabric Code
前一篇博客讲到了如何编译本地的Fabric Code成镜像文件,那么如果我们想改Fabric源代码,实现一些Fabric官方并没有提供的功能,该怎么办呢?这时我们除了改源码,增加需要的功能外,还需要能 ...
- 【原创】小说:我是一条DQL
SQL执行流程图如下 本文改编自<高性能Mysql>,烟哥用小说的形式来讲这个内容. 序章 自我介绍 我是一条sql,就是一条长长的字符串,不要问我长什么样,因为我比较傲娇. 额~~不是我 ...
- elementUi、iview、ant Design源码button结构篇
在看elementUI的button组件的时候,一起和iview.ant Design的button组件比 较功能.样式.代码结构,看他们的一些不同点,不同的写法哪种会好些,button的对外开放的功 ...
- 关于map的初级应用
map实际采用了红黑树的实现,在此,我们先不讨论map的底层实现结构原理,先来看看map究竟是怎么用,以及我是怎么看待map的. 先上代码: #include <map> #include ...