ファイルとは何か

ファイルは、コンピューターが保存や読み込みの対象として扱う、関連するデータのまとまりです。文章、画像、設定、プログラムのコードなど、内容は違ってもファイルとして名前を付けて扱えます。

開発では「何が書かれているか」だけでなく、「どこにあるか」「どの形式か」「どの文字コードか」まで確認する必要があります。

一文でいうと

ファイルとは、名前を付けて保存し、あとから読み書きできるデータの単位です。

Microsoft Learnは、ファイルを関連するデータの論理的なまとまりと説明しています。ファイルシステムは、そのファイルを記憶装置へ保存し、アプリから取得できるようにします。

個人開発のどこで登場するか

ほぼすべての工程で登場します。

  • index.html のような画面のファイル

  • app.ts のようなソースコードとは何か

  • package.json のような設定ファイル

  • ロゴや写真などの画像ファイル

  • テストで使う入力データ

  • ビルドとは何かによって生成された配布用ファイル

同じプロジェクトにあっても、手で編集するファイル、ツールが生成するファイル、公開してよいファイルは別です。役割を知らずに一括でGitへ追加すると、不要な生成物や秘密情報まで記録するおそれがあります。

一つのファイルを四つの面から見る

たとえば settings.json を扱うときは、次の四点を分けて確認します。

  1. 名前:settings.json

  2. 場所:どのディレクトリとは何かにあるか

  3. 形式:JSONの規則で書かれているか

  4. 内容:アプリが必要とする設定が入っているか

名前が同じでも、場所が違えば別のファイルです。反対に、拡張子を .json に変えただけでは、内容がJSON形式へ変換されるわけではありません。

ディレクトリ、拡張子、形式と区別する

  • ファイル:データそのものを保存する単位

  • ディレクトリ:ファイルや別のディレクトリを整理する入れ物

  • ファイル名:同じディレクトリ内などで対象を見分ける名前

  • 拡張子:ファイル名の末尾で種類の手掛かりを示す部分

  • 形式:内容をどの規則で並べ、読み取るかという約束

拡張子は便利な目印ですが、内容を保証しません。画像に見える名前でも実際の形式が違えば開けず、テキストでも文字コードが違えば文字化けします。

上書きと削除の前に対象を確かめる

ファイル操作は、名前が似た別ファイルや、現在地から見た別の場所へ作用することがあります。変更前に次を確認します。

  • 対象のパスとは何かが意図した場所か

  • 元へ戻せるGit履歴やバックアップがあるか

  • アプリが使用中のファイルではないか

  • 秘密情報や個人情報をコピー先へ含めないか

  • 生成ファイルなら、手作業で直さず再生成できないか

特に一括削除や上書きでは、最初に少数の対象で結果を確認します。

次に読む記事

ファイルを階層で整理する仕組みはディレクトリとは何か、その場所を文字列で示す方法はパスとは何かへ進みます。変更履歴を残す単位はリポジトリとは何かで確認できます。

参考資料