コンテンツにスキップ

📝 テキストファイル

テスト用プレーンテキストファイル

✅ 完全無料 🚫 登録不要 ⚡ 即ダウンロード
100 KB TXT

102,400 bytes

text/plain

100 MB TXT

104,857,600 bytes

text/plain

10 KB TXT

10,240 bytes

text/plain

10 MB TXT

10,485,760 bytes

text/plain

1 MB TXT

1,048,576 bytes

text/plain

テキストファイルについて

10 KB から 100 MB までのプレーンテキストファイルを無料で提供しています。テキスト処理の検証、ログファイルのシミュレーション、エディタの大容量ファイル対応の確認に使えます。

プレーンテキストで問題になる変数は文字コードと改行コードの 2 つだけです。改行コード別のファイル (LF / CRLF / CR / 混在) は 改行コードテスト ページにあります。

よくある利用シーン

関連するリファレンス・記事

📖 つまずきやすいポイント

10 KB から 100 MB までのプレーンテキストです。読み込み速度の計測や、テキスト処理の上限確認に使えます。プレーンテキストに「正しい形式」はありません。エンコーディングと改行コードは外から与えられる情報で、ファイル自身は名乗りません。

ケース 何が起きるか どうする
1 行目の先頭に見えない文字が入る UTF-8 の BOM (EF BB BF) は画面に出ません。1 行目のキー名が id になり、比較だけが一致しなくなります head -c 3 file | xxd で確認できます。読み込み時に落とすなら PHP は SJIS-win ではなく UTF-8 を指定したうえで先頭 3 バイトを比較、Python は encoding="utf-8-sig" が確実です。
行数がツールによって違う wc -l改行文字の数を数えます。最終行に改行が無ければ 1 少なくなり、エディタの表示とずれます。POSIX 上はテキストファイルの最終行にも改行が要ります。 生成側で最終行にも改行を付けます。差分がきれいになり、行数の食い違いも消えます。混在した改行コードが疑わしいときは 改行コード別のテストファイルで挙動を確かめられます。
100 MB を開いたらプロセスが落ちる file_get_contents()readlines()全体をメモリに載せます。100 MB のファイルに対して PHP の既定 memory_limit は足りません。 行単位で回します。PHP は fgets()、Python は for line in fメモリ使用量が入力サイズに比例しない形にしておけば、上限を上げ続ける必要がなくなります。

テキストファイルは自分がどのエンコーディングかを名乗りません。BOM がある場合を除き、判定はすべて推測です。取り込み処理では、推測に頼らず利用者に選ばせるか、取り決めで固定するのが結局いちばん堅くなります。