8章:チュートリアル7:テキスト ファイルからデータを読み取るの作成

    作成2013.03.02

  1. 参照元情報
     テキスト ファイルからデータを読み取るは(Visual Basic ガイド ツアー)
    「テキスト ファイルからデータを読み取る」にジャンプする
     作成方法の詳細は上記を参照願います。


  2. チュートリアル7:テキスト ファイルからデータを読み取るの完成ファイル
     テキスト ファイルからデータを読み取るの解説とおりに作業を実施すると、プロジェクトファイル群が完成しますが、若干の修正を加えて作成しました。
     完成ファイルは以下からダウンロードできます。
     ダウンロード後は解凍してから使用してください。
      [ 7:テキスト ファイルからデータを読み取る]をダウンロードする。
     解凍すると「FileTest1」フォルダーがあります。
    注(1)「FileTest1」フォルダーの「FileTest1.sln」ファイルをダブルクリックすると「Microsoft Visual Basic 2010 Express」が起動します。
    注(2)メニューの「ウインド」_「ウインドレイアウトのリセット」で標準に戻ります。
    注(3)「ソリューションエクスプローラ」ウインドウ内の「Form1.vb」をダブルクリックすると「デザイン」が表示されます。
    注(4)メニューの「表示」_「コード」を選択するとコードが表示されます。
    注(5)「FileTest1.sln」の動作確認は「デバッグ」_「デバッグ開始」で実行します。デバッグ機能を用いて動作確認を行います。


  3. FileTest1の実行
    (1)「Microsoft Visual Basic 2010 Express」のデバッグ機能を使用します。
    (2)「デバッグ」_「デバッグ開始」を選択します。
    (3)操作画面が表示されます。
    (4)Test実行ボタンを押します。
    (5)オープン・ファイル・ダイアログが表示されます。
    (6)テキストファイルを選択してOKボタンをおします。
    (7)選択ファイルの2行分のテキスト内容がメッセージボックスにされます。OKボタンを押します。
    (8)保存ファイル・ダイアログが表示されます。
    (9)保存場所とファイル名を指定して、保存ボタンを押します。
    (10)クローズボックスでプログラムを終了します。
    (11)保存ファイルにコピーが作成されます。


  4. 新規プロジェクトの作成
    (1)新規プロジェクト
     新規プロジェクトを作成すると「デザイナー」にはForm1が自動生成されます。

    (2) Formコード
    Public Class Form1
    End Class
    が自動生成されます。

    (3) パーツレイアウト
     Form1にButton、OpenFileDialog、SaveFileDialogをツールボックスから設定します。
     OpenFileDialog、SaveFileDialogの「Filterを(*.txt)|*.txt」に設定します。


  5. Public Class Form1の全コード
    Public Class Form1
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'OpenFileDialogを開く
               If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                '変数srをSystem.IO.StreamReader型で生成
                Dim sr As System.IO.StreamReader = My.Computer.FileSystem.OpenTextFileReader(OpenFileDialog1.FileName)
                '変数FirstLineをString型で生成
                Dim FirstLine As String = sr.ReadLine() & vbCrLf & sr.ReadLine()
                '変数FirstLineを表示|
                MsgBox(FirstLine)
                '変数readerをString型で生成
                Dim reader As String = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
                'SaveFileDialogを開く
                If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
                    'readerの内容をファイル出力
                    My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, reader, append:=False)
                End If
            End If
        End Sub
    End Class
    


  6. コードの解説
    (1)Private Sub Button1_ClickはButton1.Clickイベントで実行されます。
    (2)OpenFileDialog1.ShowDialog()はOpenFileDialogを開きます。
    (3)Dim sr As System.IO.StreamReader =は変I数srをSystem.IO.StreamReader型で生成します。初期値はMy.Computer.FileSystem.OpenTextFileReader(OpenFileDialog1.FileName)として設定します。
    (4)StreamReader クラスは特定のエンコーディングのバイト ストリームを読み込む TextReader を実装します。
    (5)OpenTextFileReaderメソッドはStreamReader を開きます。
    (6)Dim FirstLine As String = sr.ReadLine() & vbCrLf & sr.ReadLine()は変数FirstLineをString型で生成し、初期値を2行分の文字に設定します。
    (7)2行分の文字をメッセージボックスに表示します。
    (8)Dim reader As String = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)は変数readerをString型で生成します。初期値はMy.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)とします。
    (9)SaveFileDialog1.ShowDialog()はSaveFileDialogを開きます。
    (10) My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, reader, append:=False)はコピーファイルを作成します。

    感想:本サンプルは1行づつの読み込みと一括読み込みと一括出力の機能を使用しています。一括読み込みと一括出力の機能については、非常にシンプルで使いやすいと思います。
     ファイルデータの入出力は一括読み込みと一括出力の機能の使用が望ましいと思います。ファイルデータを一括で読み込んでしまえば、後は内部的にデータ処理が可能です。







9章:チュートリアル8:タブ区切りのテキスト ファイルを読み取るの作成に行く。

トップページに戻る。