import fs from 'fs'; import { promisify } from 'util'; const readFileAsync = promisify(fs.readFile); /** * ファイル読み込みクラス */ export class FileReader { /** * ファイルを非同期で読み込む * @param filePath ファイルパス * @returns ファイル内容 * @throws ファイルが存在しない場合やアクセス権限がない場合 */ async read(filePath: string): Promise { return await readFileAsync(filePath, 'utf-8'); } /** * ファイルを同期で読み込む * @param filePath ファイルパス * @returns ファイル内容 * @throws ファイルが存在しない場合やアクセス権限がない場合 */ readSync(filePath: string): string { return fs.readFileSync(filePath, 'utf-8'); } /** * ファイルが存在するかチェック * @param filePath ファイルパス * @returns 存在する場合true */ exists(filePath: string): boolean { return fs.existsSync(filePath); } }