本文介绍: 在 Node.js 中,fs模块是文件系统模块(File System module)的缩写,它提供了与文件系统进行交互的各种功能。通过fs模块,你可以执行诸如读取文件、写入文件、更改文件权限、创建目录等操作,Node.js 核心API之一。
概述
在 Node.js 中,fs
模块是文件系统模块(File System module)的缩写,它提供了与文件系统进行交互的各种功能。通过 fs
模块,你可以执行诸如读取文件、写入文件、更改文件权限、创建目录等操作,Node.js 核心API之一
。
API
写入内容
const fs = require('node:fs')
fs.writeFileSync('index.txt', 'java之父n余胜军')
-
'rs+'
: 以同步模式打开文件进行读写。 指示操作系统绕过本地文件系统缓存。这主要用于在 NFS 挂载上打开文件,因为它允许跳过可能过时的本地缓存。 它对 I/O 性能有非常实际的影响,因此除非需要,否则不建议使用此标志。
这不会将
fs.open()
或fsPromises.open()
变成同步阻塞调用。 如果需要同步操作,应该使用类似fs.openSync()
的东西。 -
'w'
: 打开文件进行写入。 创建(如果它不存在)或截断(如果它存在)该文件。 -
'w+'
: 打开文件进行读写。 创建(如果它不存在)或截断(如果它存在)该文件。
追加内容
fs.writeFileSync('index.txt', 'nvue之父n鱿鱼须',{
flag: 'a'
})
java之父
余胜军
vue之父
鱿鱼须
第二种方式
const fs = require('node:fs')
fs.appendFileSync('index.txt', 'nunshift创始人n麒麟哥')
可写流
const fs = require('node:fs')
let verse = [
'待到秋来九月八',
'我花开后百花杀',
'冲天香阵透长安',
'满城尽带黄金甲'
]
let writeStream = fs.createWriteStream('index.txt')
verse.forEach(item => {
writeStream.write(item + 'n')
})
writeStream.end()
writeStream.on('finish',()=>{
console.log('写入完成')
})
我们可以创建一个可写流 打开一个通道,可以一直写入数据,用于处理大量的数据写入,写入完成之后调用end 关闭可写流,监听finish 事件 写入完成
硬链接 和 软连接
fs.linkSync('./index.txt', './index2.txt') //硬链接
fs.symlinkSync('./index.txt', './index3.txt' ,"file") //软连接
硬链接的作用和用途如下:
- 文件共享:硬链接允许多个文件名指向同一个文件,这样可以在不同的位置使用不同的文件名引用相同的内容。这样的共享文件可以节省存储空间,并且在多个位置对文件的修改会反映在所有引用文件上。
- 文件备份:通过创建硬链接,可以在不复制文件的情况下创建文件的备份。如果原始文件发生更改,备份文件也会自动更新。这样可以节省磁盘空间,并确保备份文件与原始文件保持同步。
- 文件重命名:通过创建硬链接,可以为文件创建一个新的文件名,而无需复制或移动文件。这对于需要更改文件名但保持相同内容和属性的场景非常有用。
软链接的一些特点和用途如下:
- 软链接可以创建指向文件或目录的引用。这使得你可以在不复制或移动文件的情况下引用它们,并在不同位置使用不同的文件名访问相同的内容。
- 软链接可以用于创建快捷方式或别名,使得你可以通过一个简短或易记的路径来访问复杂或深层次的目录结构。
- 软链接可以用于解决文件或目录的位置变化问题。如果目标文件或目录被移动或重命名,只需更新软链接的目标路径即可,而不需要修改引用该文件或目录的其他代码。
原文地址:https://blog.csdn.net/qq1195566313/article/details/134639103
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_7957.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。