1、fs模块内置方法

1)stat

检测是文件还是目录

fs.stat(fileAddress,(err,stats)=>{

//err 出错信息

//stats.isFile() 该东西是文件吗

//stats.isDirectory() 该东西是目录吗

//返回布尔值

})

2)mkdir

创建目录

fs.mkdir(directoryName,mode,callback)

//directoryName:所创建目录的名称

//mode:目录读写权限,默认0777

//callback:回调,含参数error

fs.mkdir('css',(err)=>{...})

不可建立同名目录

3)writeFile

写入文件

fs.writeFile(...)

参数列表:

不存在自动创建,同名自动覆盖

4)appendFile

追加文件内容

参数同3)相同

若不存在直接创建,若已存在直接在相应文件内容中追加

5)readFile

读取文件

参数列表 3)中除了data外

fs.readFile(path,callback(err,data))

返回Buffer格式,通过toString方法来转换为字符串

6)readdir

读取目录

参数列表 3)中除了data外

fs.readdir(path,callback(err,data))

读取文件下的所有目录和文件

7)rename

重命名或剪切文件

fs.rename(path,samePathWithNewName,callback(err))

剪切文件并放到指定目录:

fs.rename(path,differentPath,callback(err))

8)

删除目录

fs.rmdir()

fs.rmdir(path,cb(err))

不可以删文件

9)unlink
删除文件

fs.unlink(path,cb(err))

//注意:文件的读取等是异步操作

10)createReadStream

以文件流的方式读取数据

这种方式是分块读取的

// node通过文件流的方式读取数据

const fs = require('fs')

let str = '' // 用于保存数据

//创建读取对象,参数是文件路径
const readStream = fs.createReadStream('a.txt') //每完成一块数据的读取,广播一个data事件,readStream通过on接收
//文件过大时读取多次
readStream.on('data', (chunk) => {
str += chunk
}) //读取完毕。广播一个end事件,通过on接收
readStream.on('end', () => {
console.log(str)
}) //读取失败。广播一个error事件,通过on接收
readStream.on('error', (err) => {
console.log(err)
})

//通过流的方式读取不会卡死

11)通过createWriteStream

通过文件流的方式写入数据,

不追加直接覆盖

// 通过文件流的方式写入数据

const fs = require('fs')
const data = '这是一段数据2' const writeStream = fs.createWriteStream('b.txt') writeStream.write(data, 'utf8') // 标记写入完成,这样才能触发广播finish事件
writeStream.end() writeStream.on('finish', () => {
console.log('finished')
}) writeStream.on('error', (err) => {
console.log('error occur!' + err)
})

2、管道流

上面的读取流和写入流可以通过pipe方法像倒水一样进行复制转移

node--fs的更多相关文章

  1. 解决node fs.writeFile 生成csv 文件乱码问题

    解决node fs.writeFile 生成csv 文件乱码问题: fs.writeFile('xxx.csv', '\ufeff' + 要传入的数据, {encoding: 'utf8'}); \u ...

  2. Node+fs+定时器(node-schedule)+MySql

    目标:将本人写博客时候的截图保存到桌面的图片 执行保存到指定文件进行整理 并写入数据库 先看最终的目录结构: package.json文件: { "name": "zqz ...

  3. Node fs, url, http 组合小型的服务器 ( 满足html请求, get, post 传值 )

    <script type="text/javascript"> /* * 引入模块 */ var http = require('http'); var url = r ...

  4. node fs模块

    Node.js的文件系统的Api //公共引用 var fs = require('fs'), path = require('path'); 1.读取文件readFile函数 //readFile( ...

  5. node fs相对路径

    如果在js里面使用了node.js的fs,在传入path参数时,如果使用相对路径,按照根目录的层级就是用就好. 比如:目录结构为: a -b -c -c1.js d 在c1.js中调用时,如果需要使用 ...

  6. Node fs模块异步读取验证并异步写入

    console.log("1:开始读成取文件内容...");fs.readFile('./public/2.log',function(err,data){ if(err){ co ...

  7. Node fs模块同步读取写入追加

    JS文件中const fs = require("fs");console.log("开始进入文件读取.."); //同步的写入var data = fs.re ...

  8. node fs 解决回调地域问题

    promisify问题 promisify = require('util).promisify const read = promisify( fs.readFile); read('input.t ...

  9. Node FS 读取文件中文乱码解决

    1:首先保证源文件编码方式为UTF-8 2:读取代码,设置编码方式rs.setEncoding('utf8') var fs = require('fs'); var rs = fs.createRe ...

  10. node fs 文件/目录 删除

    删除文件如下: 过程:先判断文件路径是否存在.读取该文件下所有文件.循环该文件,判断是否是文件夹还是文件. 移除文件夹使用fs.rmdirSync("路径") 移除文件使用fs.u ...

随机推荐

  1. oracle安装和使用

    1.0 安装 2.0 初始化 1.使用 sqlplus 连接oracle数据库 1)在cmd中输入sqlplus  /nolog 2)使用管理员账户登录orcl数据库实例 conn  sys/gzsx ...

  2. mysql绿色版安装及授权连接

    --安装包官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads --安装教程参见:https://www.cnblogs.co ...

  3. python-django框架-电商项目-订单模块开发_20191125

    python-django框架-电商项目-订单模块开发 提交订单页面: 在购物车中点击提交订单,就应该到达提交订单页面了, 显示: 1,收获地址, 2,支付方式 3,用户购买的商品信息,数量,小计, ...

  4. JDBC介绍和Mybatis运行原理及事务处理

    本博客内容非自创,转载自以下三位,侵删: https://juejin.im/post/5ab7bd11f265da23906bfbc5 https://my.oschina.net/fifadxj/ ...

  5. Ajax如何提交数据到springMVC后台

    现在好多web项目实现前段和后端分离,实现前端和后端技术人员,使他们加快开发,减少沟通上的问题,后台只需要提供访问接口,而前天只需要调用提供的接口即可.减少前后端的沟通上的成本 本项目是开发中发现aj ...

  6. Jquery中的offset()和position()深入剖析

    jquery 中有两个获取元素位置的方法offset()和position(),这两个方法之间有什么异同?使用的时候应该注意哪些问题?什么时候使用offset(),什么时候又使用position()呢 ...

  7. $random 函数用法

    $random函数调用时,返回一个32位的随机数,它是一个带符号的整形数.如下例: reg[23:0] rand; rand = $random % 60; //产生一个在 -59~59 范围的随机数 ...

  8. 孙鑫VC视频教程观看记录

    01: 了解了SDK编程,消息队列,消息响应,消息循环,窗口函数等. 02: 可以冒号:父类构造函数和a(1) protected子类可以访问 覆盖:父类子类之间   重载:同一个类中 ::作用域标识 ...

  9. 转: zabbix对cisco2960的监控

    转自:http://blog.chinaunix.net/uid-12115233-id-3561954.html 1:首先在官网下载Cisco2950 模板https://www.zabbix.co ...

  10. openpyxl操作excel表格

    1.openpyxl 只支持打开.xlsx格式,其他excel类库基本也是 2.不能这里的工作面板直接右键新建表格,必须到文件夹下面去新建,可以把在别的目录新建的表格直接复制到当前目录下 3.从表格中 ...