Imports System.IO
Imports System.Text
Imports System.Windows
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' **************************************************************' テキストファイルを読み込む為の Stream クラス と ' ファイルを開くダイアログを使用する為の OpenFileDialog クラス' **************************************************************
Dim myStream As Stream
Dim dlg As New Forms.OpenFileDialog
Dim arg As String() = Environment.GetCommandLineArgs()
' **************************************************************' ファイルパスを分解して、ディレクトリのパスに変換する' **************************************************************
Dim delimStr As String = "\"
Dim delimiter As Char() = delimStr.ToCharArray()
Dim aData As String() = arg(0).Split(delimiter)
Dim pgDir As String = String.Join("\", aData, 0, aData.Length - 1)
' **************************************************************' 変換したパスを初期ディレクトリとして設定' **************************************************************
dlg.InitialDirectory = pgDir
dlg.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
dlg.FilterIndex = 2
dlg.RestoreDirectory = True
Dim str As String = ""' **************************************************************' ファイルを開くダイアログを表示' **************************************************************
If dlg.ShowDialog() = Forms.DialogResult.OK Then
myStream = dlg.OpenFile()
If Not (myStream Is Nothing) Then
' **************************************************************' ファイルを読む為の StreamReader クラス' ファイルは Shift_JIS なので明示する必要がある' **************************************************************
Dim sr As StreamReader = _
New StreamReader( _
myStream, _
Encoding.GetEncoding("Shift_JIS") _
)
' **************************************************************' ループ処理で行を結合して、ファイル全体としてのテキストを作成' **************************************************************
Do While sr.Peek() >= 0
str += sr.ReadLine() + vbCrLf
Loop
' **************************************************************' 複数行のテキストボックスにセットして表示' **************************************************************
Me.TextBox1.Text = str
' **************************************************************' リーダとストリームを閉じる' **************************************************************
sr.Close()
myStream.Close()
End If
End If
End Sub
End Class