方法: My Documents ディレクトリのファイルにテキストを書き込む (Visual Basic)

My.Computer.FileSystem.SpecialDirectories オブジェクトを使うと、[MyDocuments] ディレクトリなどの特別なディレクトリにアクセスできます。

プロシージャ

[MyDocuments] ディレクトリに新しいテキスト ファイルを書き込むには

  1. My.Computer.FileSystem.SpecialDirectories.MyDocuments プロパティを使ってパスを指定します。

    Dim filePath As String
    filePath = System.IO.Path.Combine(
    My.Computer.FileSystem.SpecialDirectories.MyDocuments, "test.txt")
    
  2. WriteAllText メソッドを使って、指定したファイルにテキストを書き込みます。

    My.Computer.FileSystem.WriteAllText(filePath, "some text", True)
    

Try
    Dim filePath As String
    filePath = System.IO.Path.Combine(
               My.Computer.FileSystem.SpecialDirectories.MyDocuments, "test.txt")
    My.Computer.FileSystem.WriteAllText(filePath, "some text", False)
Catch fileException As Exception
    Throw fileException
End Try

コードのコンパイル

test.txt を、実際に書き込むファイルの名前に置き換えます。

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

このコードでは、ファイルにテキストを書き込むときに発生する可能性のあるすべての例外が再スローされます。 ユーザーの選択肢を有効なファイル名に制限する OpenFileDialog コンポーネントや SaveFileDialog コンポーネントなどの Windows フォーム コントロールを使うことで、例外が発生する可能性を減らすことができます。 ただし、これらのコントロールを使ったからといって例外がまったくなくなるわけではありません。 ユーザーがファイルを選んだ時点から、コードが実行される時点までの間に、ファイル システムが変化する可能性があります。 ですから、ファイルを操作するときはほとんど常に、例外処理が必要になります。

.NET Framework のセキュリティ

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

この例では、新しいファイルを作成します。 アプリケーションでファイルを作成する必要がある場合、そのアプリケーションにはフォルダーに対する Create アクセス許可が必要です。 アクセス許可は、アクセス制御リストを使って設定します。 ファイルが既に存在する場合、アプリケーションに必要なのは低い権限の Write アクセス許可だけです。 可能な場合は、フォルダーに対する Create アクセス許可を付与するのではなく、展開の間にファイルを作成しておき、1 つのファイルの Read アクセス許可を付与するだけの方が安全です。 また、ルート フォルダーや [Program Files] フォルダーにデータを書き込むより、ユーザー フォルダーに書き込む方が安全です。 詳細については、「アクセス制御リスト (ACL: Access Control List) 技術の概要」を参照してください。

関連項目