ファイルの存在判定
ファイルの存在判定は注意深く使う必要がある。
ファイルの存在を判定した直後に作成・削除されてしまうことがある。
これを避けるためには何らかのロックが必要となる。
そもそも、ファイルの存在判定は、ファイルをフラグとして扱う時以外に使うのはほぼ設計ミス。
ファイルの削除をするかどうかを決定するためにファイルの存在判定をするのは意味がない。
そのままファイルを削除してよい。
その時にファイルがないとしてエラーになってもそれは無視すればよい。
ファイルの作成をするかどうかを決定するためにファイルの存在判定をするのは意味がない。
そのままファイルを排他状態で作成すべきである。
排他状態でファイルが作成できなくて、その原因がファイルが既にあることであれば、それでファイルの存在判定はおしまいとなる。
他にファイルが作成できない要因は、該当のパス(経路)がない、書き込み不能、権限不足によるものである。
ファイルの読み込み・書き込みをするかどうかを決定するためにファイルの存在判定をするのは意味がない。
読み込み・書き込みの前のファイルオープン処理そのもので判定すべきである。
JavaScript(Node.js)
code:testExists.js
const r = fs.existsSync('foo.txt'); // 存在していれば true
Keyword: 存在チェック