次の方法で共有


方法: Visual Basic のマイ ドキュメント ディレクトリ内のファイルにテキストを書き込む

My.Computer.FileSystem.SpecialDirectories オブジェクトを使用すると、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を書き込むファイルの名前に置き換えます。

堅牢なプログラミング

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

.NET Framework のセキュリティ

部分信頼コンテキストで実行している場合、特権が不十分であるため、例外が発生する可能性があります。 詳細については、「コード アクセス セキュリティの基本」を参照してください。

この例では、新しいファイルを作成します。 アプリケーションでファイルを作成する必要がある場合、そのアプリケーションにはフォルダーの作成アクセス許可が必要です。 アクセス許可は、アクセス制御リストを使用して設定されます。 ファイルが既に存在する場合、アプリケーションには書き込みアクセス許可 (より少ない特権) のみが必要です。 可能であれば、展開中にファイルを作成し、フォルダーの作成権限を付与するのではなく、単一のファイルにのみ読み取り権限を付与する方が安全です。 また、ルート フォルダーや Program Files フォルダーよりも、ユーザー フォルダーにデータを書き込む方が安全です。 詳細については、「 ACL テクノロジの概要」を参照してください。

こちらも参照ください