使用Node.js的fs模块的方法
整理了FS模块的使用方法。
前提条件
- npmがインストールされていること
同时和异步
可以执行两种文件处理:同步处理和异步处理。
如果加上 Sync,则表示同步处理;不加则表示异步处理。
同期非同期statSyncstatreadFileSyncreadFilecopyFileSynccopyFileunlinkSyncunlink
同期は処理を完了するまで後続の処理を止める
非同期は処理の完了を待たずに後続の処理を行う
设定
使用mkdir命令和touch命令来创建文件。
$ mkdir dir && touch test.js dir/test.txt
const fs = require('fs')
try {
fs.statSync('dir/test.txt')
console.log('同期処理')
} catch (err) {
console.log(err)
}
fs.stat('dir/test.txt', (err) => {
if (err) throw err
console.log('非同期処理')
})
console.log('後続の処理')
执行
执行node命令。
$ node test
输出结果 (shū chū jié guǒ)
同期処理
後続の処理
非同期処理
使用方法
确认文件是否存在。
如果文件存在,可以获取对象。
通过isDirectory方法可以确认是否为目录。
const fs = require('fs')
try {
const dir = fs.statSync('dir')
const file = fs.statSync('dir/test.txt')
console.log(dir.isDirectory())
console.log(file.isDirectory())
} catch (err) {
console.log(err)
}
执行结果
true
false
获取文件列表
const fs = require('fs')
try {
console.log(fs.readdirSync('dir'))
} catch (err) {
console.log(err)
}
执行结果
[ 'test.txt' ]
读取文件
const fs = require('fs')
try {
console.log(fs.readFileSync('dir/test.txt', 'utf8'))
} catch (err) {
console.log(err)
}
Hello world!
结果 实施
Hello world!
写入文件
如果文件不存在,则创建新文件;如果文件存在,则进行覆盖。
const fs = require('fs')
try {
fs.writeFileSync('dir/test2.txt', 'Hello world!!', 'utf8')
} catch (err) {
console.log(err)
}
执行结果
Hello world!!
写入文件
const fs = require('fs')
try {
fs.appendFileSync('dir/test.txt', 'Hello overwrite!', 'utf8')
} catch (err) {
console.log(err)
}
Hello world!!
执行结果 (Shí
Hello world!!
Hello overwrite!
文件的拷贝
const fs = require('fs')
try {
fs.copyFileSync('dir/test.txt', 'dir/test2.txt')
} catch (err) {
console.log(err)
}
删除文件
const fs = require('fs')
try {
fs.unlinkSync('dir/test.txt')
} catch (err) {
console.log(err)
}
文献引用
本文根据以下信息进行了撰写。
- パス操作(path)とファイル操作(fs)