ローカルファイルの操作(読み込み、書き込み、存在チェック)
Electronでローカルファイルの読み込みや書き込み、それにファイルの存在チェックなどを行う場合は、node.jsのFile System APIを使います。
以下、JSONファイルの読み込みや書き込みを行う場合の一例です。
目次
- ファイルの読み込み
- ファイルの書き込み
- ファイルの存在チェック
- 参考リンク
ファイルの読み込み
fs.readFile():非同期
const fs = require('fs')
fs.readFile('/etc/sample.json', 'utf8', (err, data) => {
if (err) throw err
console.log(data)
let obj = JSON.parse(data)
})
fs.readFileSync():同期
let data = fs.readFileSync('/etc/sample.json', 'utf8')
console.log(data)
let obj = JSON.parse(data)
ファイルの書き込み
fs.writeFile():非同期
fs.writeFile('/etc/sample.json', JSON.stringify(obj), 'utf8', (err) => {
if (err) throw err;
});
fs.writeFileSync():同期
fs.writeFileSync('/etc/sample.json', JSON.stringify(obj), 'utf-8')
ファイルの存在チェック
ファイルの存在チェックを行う方法は調べると2つの方法「fs.stat()、fs.access()」が紹介されていますが、fs.access()の方がアクセス権も踏まえてチェックしてくれます。
fs.access():非同期
fs.access('/etc/sample.json', fs.constants.R_OK | fs.constants.W_OK, (err) => {
console.log(err ? 'no access!' : 'can read/write');
});
fs.accessSync():同期
try {
fs.accessSync('/etc/sample.json', fs.constants.R_OK | fs.constants.W_OK);
console.log('can read/write');
} catch (err) {
console.error('no access!');
}