Dart Academy · レッスン

ファイルの読み書き

テキストとバイトを読み込み、保存します

レッスン 1/413 ステップ

「ファイルの読み書き」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

dart:io が必要な理由

コマンドラインプログラムから実際のファイルを扱うには、dart:io を import します。これにより、Dart でディスクの読み書きができるようになります。

import 'dart:io';

File クラスを知る

File オブジェクトは、ディスク上のパスを指します。作成しただけではまだ開いたり読み取ったりせず、対象を指定するだけです。

final file = File('notes.txt');

ファイル全体を読む

readAsString を使うと、テキストファイル全体を1つの String に読み込めます。Future が返されるため、結果を await します。

final text = await file.readAsString();

1行ずつ読む

行のリストが必要ですか。readAsLines を使うと、各行を個別の String として取得できるため、1行ずつ処理するのに適しています。

final lines = await file.readAsLines();

テキストを書き込む

テキストを保存するには、writeAsString を呼び出します。ファイルがなければ作成し、デフォルトでは既存の内容を置き換えます。

await file.writeAsString('Hello, disk!');

置き換えずに追記する

既存のテキストを残して追加したい場合は、FileMode.append を渡します。新しい内容が末尾に追加されます。

await file.writeAsString('line\n', mode: FileMode.append);

バイトを扱う

ファイルが常にテキストとは限りません。readAsBytes を使うと、画像やバイナリ形式の生データを整数のリストとして取得できます。

final bytes = await file.readAsBytes();

まず存在を確認する

存在しないファイルを読むと例外がスローされます。ファイルに触れる前に exists で確認して、エラーを防ぎましょう。

if (await file.exists()) { /* safe to read */ }

同期版

すべての非同期メソッドには、readAsStringSync のようなブロッキング版があります。小さなスクリプトでは便利ですが、実行中はすべての処理を停止させます。

final text = file.readAsStringSync();

削除と名前変更

delete でファイルを削除し、新しいパスを指定して rename を呼び出すとファイルを移動できます。どちらも await できる Future を返します。

await file.rename('archive.txt');

適切なエンコーディングを選ぶ

テキスト関連のメソッドはデフォルトで utf8 を使用します。他のエンコーディングを使う場合は明示的に指定して、アクセント付き文字や特殊文字が読み書きで失われないようにします。

await file.writeAsString(s, encoding: latin1);

理解度チェック

既存の内容を消去せずにログ行を追加したい場合、どの方法を使いますか。

まとめ

ファイルを String、行、またはバイトとして読み取り、テキストの書き込みや追記を行い、exists で安全に確認できるようになりました。これがファイル I/O の基本です。

無料で開始

AI チューターと学ぶ Dart — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「ファイルの読み書き」レッスンは無料ですか?

はい。「ファイルの読み書き」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「ファイルの読み書き」で何を学びますか?

テキストとバイトを読み込み、保存します ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「ファイルの読み書き」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ファイルの読み書き
  2. ディレクトリ、パス、FileSystemEntity
  3. 大きなファイルのストリーミング
  4. Stdin、Stdout、Process Args
← Dart Academyに戻る