使用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)
广告
将在 10 秒后关闭
bannerAds