方法: ファイルにテキストを書き込む (Visual Basic)

WriteAllText メソッドを利用し、テキストをファイルに書き込みます。 指定したファイルが存在しない場合は、作成されます。

プロシージャ

テキストをファイルに書き込むには

  • ファイルにテキストを書き込むには WriteAllText メソッドを使い、ファイルと書き込むテキストを指定します。 この例では、test.txt という名前のファイルに既に存在するテキストの最後に、"This is new text." という行を書き込んで追加します。

    My.Computer.FileSystem.WriteAllText("C:\TestFolder1\test.txt",
    "This is new text to be added.", True)
    

一連の文字列をファイルに書き込むには

  • 文字列のコレクションをループ処理します。 WriteAllText メソッドを使って、テキストをファイルに書き込みます。書き込むファイルと追加する文字列を指定し、appendTrue に設定します。

    この例では、Documents and Settings ディレクトリにあるファイルの名前を FileList.txt に書き込み、読みやすくするために各ファイル名の間に改行を挿入します。

    For Each foundFile As String In
    My.Computer.FileSystem.GetFiles("C:\Documents and Settings")
        foundFile = foundFile & vbCrLf
        My.Computer.FileSystem.WriteAllText(
          "C:\Documents and Settings\FileList.txt", foundFile, True)
    Next
    

信頼性の高いプログラミング

次の条件を満たす場合は、例外が発生する可能性があります。

  • パスが有効ではありません。原因として、長さが 0 の文字列であるか、空白のみが含まれているか、無効な文字が含まれているか、デバイス パスである (先頭が \\.\ である) ことが考えられます (ArgumentException)。

  • パスが Nothing であるため、有効でない (ArgumentNullException)

  • File が、存在しないパスを指している (FileNotFoundException または DirectoryNotFoundException)。

  • 他のプロセスがファイルを使用しているか、または I/O エラーが発生した (IOException)。

  • パスがシステムで定義されている最大長を超えている (PathTooLongException)。

  • パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、または形式が無効である (NotSupportedException)

  • ユーザーがパスを参照するのに必要なアクセス許可がない (SecurityException)

  • ディスクがいっぱいになっており、WriteAllText の呼び出しが失敗する (IOException)。

部分的に信頼されたコンテキストで実行している場合、コードは、特権がないために例外をスローする可能性があります。 詳しくは、「コード アクセス セキュリティの基礎」をご覧ください。

関連項目