百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> 谈谈Node.js中的文件写入
分享文章到:

谈谈Node.js中的文件写入

发布时间:12/01 来源:未知 浏览: 关键词:
本篇文章给大家介绍一下Node.js中的文件写入。有必然的参照 价值,有需要的伴侣可以参照 一下,但愿对大家有所帮忙。

相关引荐:《node js教程》

看完文件读取再看文件写入非常简便,两者的操纵几乎一一对应

fs.writeFile

fs.writeFile(file, data[, options], callback)

  • file:文件名或文件描写符

  • data:常用的主如果 string 和 buffer

  • callback(err)

file 是文件名时,则异步地写入数据到文件,假如文件已存在,则覆盖文件内容

const fs = require('fs');

const data = Buffer.from('Hello, Node.js');
fs.writeFile('./test.txt', data, err => {
  if (err) throw err;
  console.log('文件已被留存');
});

fs.write

fs.write 有两种重载

  • fs.write(fd, buffer[, offset[, length[, position]]], callback):参数含义和 fs.read 几乎雷同

  • fs.write(fd, string[, position[, encoding]], callback):只能把字符串内容全部写入文件

两个的不同就是适用 buffer 可以治写入 buffer 中 offset ~ length + offset 的内容,而使用字符串只能把字符串内容全部写入文件

const fs = require('fs');

const data1 = Buffer.from('Hello, Node.js');
const data2 = 'Hello, Node.js';

const fd = fs.openSync('./test.txt', 'w');
console.log(fd)

fs.write(fd, data1, err => {
  if (err) throw err;
  console.log('data1 已被写入');
});

fs.write(fd, data2, err => {
  if (err) throw err;
  console.log('data2 已被写入');
});

setTimeout(() => {
  fs.close(fd, console.log);
}, 100);

fs.appendFile

fs.appendFile(path, data[, options], callback) 将数据追加到文件尾部,假如文件不存在则创立该文件

const fs = require('fs/promises');

const data1 = Buffer.from('Hello,');
const data2 = Buffer.from(' Node.js');

fs.appendFile('./test.txt', data1)
  .then(() => {
    fs.appendFile('./test.txt', data2);
    console.log('文件内容追加完成');
  });

fs.createWriteStream

fs.createWriteStream(path[, options]) 用来创立一个可写的文件流,options 和 fs.createReadStream 几乎雷同
options(比力常用的有)

  • fd: 默许值 null,假如指定了 fd,则会忽略 path 参数,使用指定的文件描写符(不会再次触发 open 事件)
  • mode:默许值 0o666
  • autoClose: 默许值: true,当 'error' 或 'finish' 事件时,文件描写符会被主动地关闭
  • start: 开端写入文件的位置,不设定默许覆盖

把一个可读流内容写到可写流非常简便

const fs = require('fs');

fs.createReadStream('./test.txt')
  .pipe(fs.createWriteStream('./copy.txt'));

关于流的介绍和更多使用在 Buffer 和 Stream 章节会有具体介绍

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板