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'));
感谢各位的阅读!关于Node.js中实现文件写入的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
网站标题:Node.js中实现文件写入的方法-创新互联
URL链接:http://azwzsj.com/article/gscgd.html