今天要学习的依然是 node.js 的core modules (就是内建的模组啦),主角是:fs
一个能让我们读写档案的功能!(其实这个 fs 还有其他的功能,只是我们今天先介绍他其中的读写功能)
起手式一样,先把这个 fs require进来:
const fs = require('fs');
然後新增一个 readme.txt的文字档:
读取档案:fs.readFileSync (同步)、fs.readFile(非同步)
接着我们使用 readFileSync
这个 method 去读取档案的内容,要注意的是,这个 readFileSync
方法是同步的,所以若是下面还有其他 code ,要等读取完才会继续执行,若是想使用非同步的读取,直接使用 readFile
即可:
const fs = require('fs');
// readFileSync 语法:fs.readFileSync('欲读取的档案名称', '用什麽编码读')
let readMeSync = fs.readFileSync('readme.txt', 'utf8')
console.log(readMeSync)
// readFile 语法:fs.readFile('欲读取的档案名称', '用什麽编码读', 'callback function(err, data)')
fs.readFile('readme.txt', 'utf8', (err, data) => {
console.log(data)
})
两种做法都可以得到 readme.txt 档案的内容:
“ yay ! you read me !!!!!!!!!! :) “
写入档案:fs.writeFileSync(同步)、fs.writeFile(非同步)
若是想要在档案里写入内容,则是用 writeFileSync
:
const fs = require('fs');
// fs.writeFileSync(file, data[, options])
// writeFileSync 一样有非同步的语法 writeFile
let readMeSync = fs.readFileSync('readme.txt', 'utf8')
fs. writeFileSync('writeme.txt', readMeSync )
这边要注意的是,writeFileSync
会先搜寻有没有跟这个名称一样的档案,若是有则覆盖原本内容,若是没有会建立一个新档案
若我们不想要档案被覆盖,纯粹只想新增内容的话,使用fs.appendFile()
最後,我们将两种方法结合试试:
const fs = require('fs');
fs.readFile('readme.txt', 'utf8', (err, data) => {
fs.writeFile('writeme.txt', data)
})
这样就可以很简单的就把 readme 的内容搬到 writeme 里面惹!
是不是很轻松愉快啊!
今天就先到这边
我们明天见
ㄅㄅ
<<: [Day04] - 新拟物风按钮(二) - shadow dom 介绍
这几天我们把 Coroutine 神秘的面纱好像掀开了一点,知道他是用来解决非同步程序的问题,也我们...
今天是30天程序语言研究的第四天,研究的语言是python,今天主要学习的部分是tuple和func...
混合mixins 介绍:mixin是一种可以把自己的方法提供给别的类别使用,却不需要成为其他类别的父...
想解决的问题 起因是今年七月开 Netflix 开始限制共享家庭方案,认证规则目前没有公开,但会根据...
跟AI/ML 有关的监管考量 在前一篇的文章指出,在医疗产业中的监管文献有两篇。然而这两篇的内容其实...