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 メソッドに関連するタスクの例を次の表に示します。
目的 |
参照項目 |
---|---|
ファイルにテキストを書き込む |
|
ファイルにテキストを追加する |
使用例
この例では、 "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 サイト |
使用する |
アクセス許可
次のアクセス許可が必要になる場合があります。
アクセス許可 |
説明 |
---|---|
ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted。 |
詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。
参照
参照
My.Computer.FileSystem.OpenTextFileWriter メソッド