TypeScript:
テキストファイルの読み込み
How to: (やり方)
以下にTypeScriptでテキストファイルを読み込むサンプルコードを示します。
import { readFileSync } from 'fs';
try {
const data = readFileSync('example.txt', 'utf8');
console.log(data);
} catch (err) {
console.error('ファイル読み込みエラー:', err);
}
出力例:
こんにちは、ファイルの世界へ!
非同期処理を利用する例です。
import { readFile } from 'fs';
readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error('ファイル読み込みエラー:', err);
} else {
console.log(data);
}
});
Deep Dive (掘り下げ)
歴史的に、ファイル読み込みはプログラミングの基本的な要素であり、様々な方法で実装されてきました。Node.jsでは、fs
モジュールを使った同期と非同期のAPI両方を提供しています。前述のreadFileSync
は同期的処理で、リードが完了するまで待機します。これは起動時の設定ファイルの読み込みなど、直ちに処理が必要なシーンで有用です。しかし、ブロッキングが起きるとアプリケーションのパフォーマンスに影響するため、大半の場合は非同期処理が望ましいです。
readFile
は非同期版で、コールバック関数に処理完了時のデータかエラーを渡します。非同期I/OはNode.jsの特長であり、大きなファイルやネットワーク経由の読み込みに適しています。
代替手段としてストリームも利用できます。これは大きなデータを小分けにして処理するときに便利です。また、TypeScriptを利用する場合は型定義をしっかりと行うことで、読み込んだデータの安全性を高めることができます。
See Also (関連リンク)
- Node.js File System module: https://nodejs.org/api/fs.html
- Understanding asynchronous programming in Node.js: https://nodejs.dev/learn/understanding-javascript-asynchronous-programming
- Working with file streams in Node.js: https://nodejs.org/api/stream.html