エンジニアの信尾海翔です。
第十二回目のブログではfsモジュールとnode-id3について簡単に紹介できればと思います。
fsモジュール関数とは
fsモジュールとはNode.jsの標準モジュールです。
node.jsでファイルの書き込み、読み込みなどを行うことができます。
fsモジュールを使ってファイルの読み込み、書き込みなどを行う
fsモジュールには同期処理、非同期処理の両方が用意されています、今回の例では同期処理でファイルを扱っています。
fsモジュールを読み込み
const fs = require('fs')
ファイル一覧取得
フォルダ内のファイルなどを文字列として配列で取得します。
var result = fs.readdirSync(dir_path)
console.log(result)
withFileTypesオプションにtrueを指定することでfs.Direntオブジェクトとして返すこともできます。
ファイルを読み込み
テキストファイルには’読み込み’と文字列を追加しています。
var result = fs.readFileSync(path, 'utf8')
console.log(result)
ファイルに書き込み
先ほどのテキストファイルに’書き込み’とに上書きします。
fs.writeFileSync(path, '書き込み', 'utf8')
ファイルを削除
fs.unlinkSync(path)
node-id3とは
音源などのパスを渡すことで簡単にid3タグ情報を扱うことのできるライブラリです。
※id3タグとはmp3などの音源ファイルにアルバムアート、アルバム名、アーティストなどの情報を付与したものです。
node-id3を使ってid3タグを読み込み、書き込み
node-id3を読み込み
const NodeID3 = require('node-id3')
id3タグを読み込み
readでid3タグを配列として読み込みます、アルバム名などが登録されている場合は配列に追加されます。
var tags = NodeID3.read(path)
console.log(tags)
id3タグを書き換え
writeでid3タグを書き換えます、書き換えたい情報をまとめた連想配列のtagsを渡しています、今回はタイトル名とアルバム名を変更しています。
書き換えの結果として真偽地が返ってきます、trueの場合は正しく書き換えされています。
var tags = {
title: "書き換えタイトル名",
album: "書き換えアルバム名"
}
var tags = NodeID3.write(tags, path)
console.log(tags)
余談
electronでhower.jsなどを使って音楽プレーヤーを作ったのですが、指定されたフォルダ内の音源ファイルを一覧として取得したり、選択された音源のid3タグからアルバムアートを取得して表示したりする際にfsモジュールとnode-id3を使用しました。
node-id3は音源のパスを渡すだけで簡単にid3タグ情報などを取得でき、とても便利だったのでぜひ音源を扱う機会があれば使ってみてください!