node之fs模块
前言
fs是filesystem的缩写,该模块提供本地文件的读写能力,基本上是POSIX文件操作命令的简单包装。但是,这个模块几乎对所有操作提供异步和同步两种操作方式,供开发者选择。
一、文件读取
文件读取又分为同步读取(readFileSync())和异步读取(readFile())
//1、文件同步读取
const bufferStr = fs.readFileSync('./file/test.txt'}); console.log(bufferStr);
// 因为没有声明encoding 所以返回的是二进制数据
//<Buffer 48 65 6c 6c 6f 20 57 6f 72 6c 64 21> const str = fs.readFileSync('./file/test.txt',{
encoding:'utf-8'
}); console.log(str);
//Hello world!
//错误处理
try{
var errStr = fs.readFileSync('test.txt');
}catch(err){
console.log(errStr);
} //因为文件不存在,所以 打印出 undefined //2、文件异步读取
fs.readFile('./file/test.txt',{encoding:'utf-8'}, (err,data) =>{
if(err) throw err;
console.log('2.1读取数据成功,数据内容为:'+ data);
});
二、文件写入
文件写入包括:fs.writeFile(异步)、fs.writeFileSync(同步)
格式:fs.writeFile(filename, data, [options], callback)
[options]
@param {Object} [options]
@param {String} options.encoding 编码,默认是utf8
@param {Number} options.mode=438 模式
@param {String} options.flag=w 写文件的模式
@param {Function} callback 回调方法
const fileName = 'wirteFile_01.txt'; fs.writeFile(fileName, 'Hello World !', (err) => {
if(err) throw err;
console.log(fileName + '不存在,被创建了!');
}); //往存在的文件内写内容
fs.writeFile(fileName, 'no pain no gain', (err) => {
if(err) throw err;
console.log(fileName + '文件被修改了!');
}); //往文件内追加内容
fs.writeFile(fileName, 'stay hungry stay foolish',{flag : 'a'}, (err) => {
if(err) throw err;
console.log(fileName + '文件被修改了,内容追加!');
});
fs.writeFileSync(同步)
与异步差不多,就是没有回调。
三.文件删除
//异步
fs.unlink('./file/test.txt', (err) => {
if (err) throw err;
console.log('成功删除file中的test.txt');
}); //同步
fs.unlinkSync('./file/test.txt', (err) => {
if (err) throw err;
console.log('成功删除file中的test.txt');
});
四、文件的监听事件
//文件的事件监听
fs.watch('./file', {encoding:'utf-8'}, (eventType, filename) =>{
if(filename){
console.log('文件名:' + filename + '事件类型:' + eventType);
}
}); //文件名:test3.txt事件类型:rename
//文件名:hhh.txt事件类型:rename
//文件名:hhh.txt事件类型:change
参考:官方文档
node之fs模块的更多相关文章
- 【node】fs模块,文件和目录的操作
检查文件是否存在,查询文件信息 fs.stat() fs.stat('./server.js', function (err, stat) { if (stat && stat.isF ...
- node的fs模块使用————node
node的fs模块使用----node fs模块是调用文件的模块. var fs=require('fs'); //引用模块. //查看文件信息 fs.stat('index.txt',functio ...
- [Nodejs] node的fs模块
fs 模块 Node.js 提供一组类似 UNIX(POSIX)标准的文件操作 API. Node 导入文件系统模块(fs).Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如 ...
- 从官网学习Node.js FS模块方法速查
最新文档请查看仓库 https://github.com/wangduandu... 1. File System 所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API 异步方式其最后一个参 ...
- Node.js FS模块方法速查
1. File System 所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API 异步方式其最后一个参数是回调函数.回调函数的第一个参数往往是错误对象,如果没有发生参数,那么第一个参数可能 ...
- Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流
/* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs.writeFile 写入文件(文件不存在就创建,但不能创 ...
- node的fs模块
node的file system模块提供的api有同步和异步两种模式(大多数情况下都是用的异步方法,毕竟异步是node的特色,至于提供同步方法,可能应用程序复杂的时候有些场景使用同步会比较合适).异步 ...
- node中fs模块 - fs.open() fs.read() fs.write() fs.close()
var fs = require('fs') fs.open('./a.txt', 'a+', function(err, fd) { // 打开文件后 创建缓冲区放置数据 ), // 读取多少字节 ...
- Node 的fs模块
这个fs.readdir路径要加上__dirname 找到绝对路径 否则会报错 { Error: ENOENT: no such file or directory, scandir '/User ...
随机推荐
- ORA-12514:TNS:lisntener does not currently know of service requested in connect descriptor
在使用工具连接oracle库的时候出现了异常 根据理解初步估计是服务或者监听器没有启动 于是链接到数据库服务器进行查看 服务都已经开启,重启后链接依旧出现上述问题 使用lsnrctl status ...
- 【笔记】HybridApp中使用Promise化的JS-Bridge
背景: HybridApp,前端采用JS-bridge的方式调用Native的接口,如获取设备信息.拍照.人脸识别等 前端封装了调用库,每次调用Native接口,需要进行两步操作(1.在window下 ...
- openssl几个加密算法使用介绍
1.openssl简介 1)openssl概述 OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. ...
- sts 和 lombok
1.安装lombok.jar到sts.exe所在目录 如果是eclipse,需要放到eclipse.exe所在目录,同理myeclipse. 2.修改sts.ini配置使用lombok 如果是ecli ...
- Linux知识积累(4) Linux下chkconfig命令详解
Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...
- GIT入门笔记(4)- GIT 安装
关于Windows下的安装工具-msysgit Windows下要使用很多Linux/Unix的工具时,需要Cygwin这样的模拟环境,Git也一样. Cygwin的安装和配置都比较复杂,不建议直接折 ...
- Android P专区免费开放 -- 同样的Android,不同的体验
2018年3月8日,Google推出了Android P Preview版本,并提供官方镜像下载. 为了让广大开发者能够及时了解Android P的新功能特性,提前为您的app进行良好适配,WeTes ...
- 分享:纯 css 瀑布流 和 js 瀑布流
分享一次纯 css 瀑布流 和 js 瀑布流 纯 css 写瀑布流 1.multi-columns 方式: 通过 Multi-columns 相关的属性 column-count.column-ga ...
- SpringBoot实现多环境配置
1.为什么需要配置多环境配置 在实际的开发中,我们往往需要在不同的环境中使用不同的数据库.缓存配置,如果使用同一套配置文件,在不同环境部署的时候手动去修改配置文件,会使部署变得很繁琐.使用多环境配置文 ...
- javascript中的事件类型
表单事件 submit reset click change focus blur input window事件 load DomContentLoaded readyStatechange unlo ...