VB.NET はじめてのファイル書き込み・ファイル読込

プログラミングを学習していくと、なんとなく苦手になってくるのがファイル入出力ではないでしょうか?
そんなにしょっちゅう書く処理ではないため、長いことプログラミングをしていても、何か見ないと書けないものです。

とういうことでファイル書き込みとファイル読込の備忘録!!

Vb.netで設定情報などをテキストファイルにほぞんするときに自分がよく使うのがこの方法です。ファイルの読み書きはいろいろな方法があるのですが、1行づつ読みこむこの方法が使いやすくよく使っています。
設定情報などを、
ID=123
NAME=ABC
PORT=789
みたいな感じで、改行して保存します。INIファイルみたいな感じですね。

サンプルではファイルを1行づつ読みこむだけですが、ループの中で取得した行を解析して、設定値を取り出すみたいな感じで使っています。

    'ファイルの書き込み
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim wk_str As String = ""
        wk_str = wk_str & "りんご" & vbCrLf
        wk_str = wk_str & "みかん" & vbCrLf
        wk_str = wk_str & "ばなな" & vbCrLf

        'StreamWriterの初期化
        'ファイルを上書きし、Shift JISで書き込む
        '2番目のパラメータをTrueにすると、上書きせずにファイルの末尾に追加
        Dim system_file_name As String = "C:\Sample\test.txt"
        Dim sw As New System.IO.StreamWriter(system_file_name, False, System.Text.Encoding.GetEncoding(932))
        'wk_strの内容をすべて書き込む
        sw.Write(wk_str)
        '閉じる
        sw.Close()

    End Sub
    'テキストファイルを一行ずつ読込
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim system_file_name As String = "C:\Sample\test.txt"

        'Shift-JISコードとして開く
        Dim sr As New System.IO.StreamReader(system_file_name, System.Text.Encoding.GetEncoding(932))
        '内容を一行ずつ読み込む
        Dim one_str As String

        While sr.Peek() > -1

            one_str = sr.ReadLine()
            If IsNothing(one_str) Then
                Exit While
            End If

            Console.WriteLine(one_str)

        End While
        '閉じる
        sr.Close()
    End Sub

カテゴリー: VB パーマリンク