zukucode
主にWEB関連の情報を技術メモとして発信しています。

VB.NET ファイルオープンダイアログを表示してファイルを読み込む

VB.NETでファイルオープンダイアログ(ファイルを開く)を表示して、選択したファイルを読み込みます。

ファイルを保存するダイアログを表示する方法はVB.NET ファイル保存ダイアログを表示してファイルを書き込むで紹介しています。

Using ofd As OpenFileDialog = New OpenFileDialog
    'デフォルトのファイル名を指定します
    ofd.FileName = "output.csv"

    '選択できるファイルの種類(拡張子)を限定します
    ofd.Filter = "CSV Files |*.csv"

    If ofd.ShowDialog() = DialogResult.OK Then
        Using sr As New StreamReader(ofd.FileName, Encoding.UTF8)
            Dim line As String
            Do
                '1行ずつファイルを読み込み
                line = sr.ReadLine()
                Console.WriteLine(line)
            Loop Until line Is Nothing
        End Using
    End If
End Using

OpenFileDialog

OpenFileDialogでファイルのオープンダイアログを表示します。

FileNameプロパティでデフォルトのファイル名を指定できます。ダイアログでファイルを選択したあとは、選択したファイルの絶対パスがセットされます。

ShowDialog()でダイアログの結果(開くボタンが押されたのか、キャンセルされたのか)を取得できます。

開くボタンを押した場合のみファイルの読み込みを行うようにしています。

StreamReader

StreamReaderでファイルの読み込みを行います。

名前空間はSystem.IOなので、コンパイルエラーになってしまう場合はvbファイルの先頭にImports System.IOを追加するか、StreamReaderの代わりにSystem.IO.StreamReaderとしてください。

StreamReader(ファイルパス, 文字エンコーディング)の形式で指定します。

第1引数には先ほどオープンダイアログで指定したファイルパス(ofd.FileName)を指定します。

第2引数は文字エンコーディングを指定します。Shift_JISutf-8など、仕様に従って指定します。

sr.ReadLineでファイルの内容を1行読み込みます。

ファイルを最後まで読み込むには、sr.ReadLineの結果がNothingになるまでループして読み込みます。


関連記事