次の方法で共有


My.Computer.FileSystem.WriteAllText メソッド

更新 : 2007 年 11 月

ファイルにテキストを書き込みます。

' Usage
My.Computer.FileSystem.WriteAllText(file ,text ,append)
My.Computer.FileSystem.WriteAllText(file ,text ,append ,encoding)
' Declaration
Public Sub WriteAllText( _
   ByVal file As String, _
   ByVal text As String, _
   ByVal append As Boolean _
)
' -or-
Public Sub WriteAllText( _
   ByVal file As String, _
   ByVal text As String, _
   ByVal append As Boolean, _
   ByVal encoding As System.Text.Encoding _
)

パラメータ

  • file
    必ず指定します。書き込み先のファイルを指定する文字列 String です。

  • text
    必ず指定します。ファイルに書き込むテキストを指定する文字列 String です。

  • append
    Boolean です。既存のテキストに追加するか、既存のテキストを上書きするかを指定します。既定値は False です。必ず指定します。

  • encoding
    Encoding. ファイルへの書き込み時に使用されるエンコーディングの種類を指定します。必ず指定します。既定値は、UTF-8 です。

例外

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

  • 次に示す理由のいずれかが原因でパスが無効である。パスが長さ 0 の文字列である、パスに空白だけが含まれている、パスに無効な文字が含まれている、末尾に後続のスラッシュが付いている、またはパスがデバイス パスである (\\.\ で始まる) (ArgumentException)。

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

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

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

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

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

  • ユーザーがパスを表示するのに必要なアクセス許可を持っていない (SecurityException)。

部分的に信頼できるコンテキストで実行している場合は、アクセス許可が不十分なためにコードが例外をスローすることがあります。詳細については、「コード アクセス セキュリティの基礎」を参照してください。

解説

エンコーディングを指定しなかった場合は、UTF-8 が使用されます。エンコーディングのバイト順マーク (BOM: byte order mark) は、システムの現在の ANSI コード ページを使用する Encoding.Default を指定しない限り、ファイルに書き込まれます。指定したエンコーディングがファイルの既存のエンコーディングに一致しない場合は、指定したエンコーディングが無視されます。

指定したパス (ファイル名以外) が有効でない場合は、DirectoryNotFoundException 例外がスローされます。パスが有効でもファイルが存在しない場合は、そのファイルが作成されます。

append パラメータが True の場合はテキストがファイルに追加され、それ以外の場合はファイル内の既存のテキストが上書きされます。

メモ :

WriteAllText メソッドは、ファイルを開き、書き込みを行い、ファイルを閉じます。WriteAllText メソッドを使用するコードは、StreamWriter オブジェクトを使用するコードよりシンプルです。ただし、ループを使用してファイルに文字列を追加する場合は、StreamWriter オブジェクトでも、必要なファイルの開閉は 1 回だけなので、パフォーマンスを上げることができます。詳細については、「My.Computer.FileSystem.OpenTextFileWriter メソッド」を参照してください。

処理手順

My.Computer.FileSystem.WriteAllText メソッドに関連するタスクの例を次の表に示します。

目的

参照項目

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

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

ファイルにテキストを追加する

方法 : Visual Basic でテキスト ファイルに追記する

使用例

この例では、 "This is new text to be added." という行をファイル Test.txt に書き込み、このファイル内の既存のテキストをすべて上書きします。

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

この例では、 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

必要条件

名前空間 : Microsoft.VisualBasic.MyServices

クラス : FileSystemProxy (FileSystem へのアクセスを可能にします)

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll 内)

プロジェクトの種類ごとの可用性

プロジェクトの種類

可用性

Windows アプリケーション

使用する

クラス ライブラリ

使用する

コンソール アプリケーション

使用する

Windows コントロール ライブラリ

使用する

Web コントロール ライブラリ

使用する

Windows サービス

使用する

Web サイト

使用する

アクセス許可

次のアクセス許可が必要になる場合があります。

アクセス許可

説明

FileIOPermission

ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted

詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。

参照

参照

My.Computer.FileSystem オブジェクト

System.Text.Encoding

FileSystem.WriteAllText

My.Computer.FileSystem.OpenTextFileWriter メソッド

その他の技術情報

Visual Basic でのファイルへの書き込み