訪問して頂きありがとうございます。まさふくろーです。
この記事では、UsingステートメントでDisposeメソッドの呼び出しを自動化する方法をご紹介します。
目次
UsingステートメントでDisposeメソッドの呼び出しを自動化する
Using 変数名 As New 使用するクラス
処理
End Using
サンプルプログラム
名前空間のインポート
1 2 |
Imports System.IO Imports System.Text |
1 | StreamReaderクラスを使うため、System.IO名前空間をインポート。 |
2 | Encodingクラスを使うため、System.Text名前空間をインポート。 |
Try...Catch...Finallyステートメントを使用する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim sr As StreamReader = Nothing Dim FilePath As String = "C:\sample\sample.txt" Try sr = New StreamReader(FilePath, Encoding.GetEncoding("Shift_JIS")) Label1.Text = "C:\sample\sample.txtファイルを読み取り用に開きました。" Catch ex As Exception Label1.Text = Err.Description Finally If sr IsNot Nothing Then sr.Dispose() End If End Try End Sub End Class |
2 | 「実行」ボタンクリック時に以下処理を行う。 |
4 | StreamReader型の変数「sr」の初期化。 |
5 | ファイルパスを、文字列型の変数「FilePath」に代入。 |
9 | シフトJISのテキストファイルを開く処理を実行する。 |
11 | 正常に処理が実行された場合、正常終了のメッセージをラベルに表示する。 |
13 | 処理の実行中にエラーが発生した場合、 |
15 | エラー内容をラベルに表示する。 |
17 | エラー発生の有無に関わらずに、以下処理を必ず行う。 |
19 | StreamReaderクラスのリソースが開放されていない(テキストファイルが閉じられていない)場合、 |
20 | リソースの開放を行う。(テキストファイルを閉じる。) |
Usingステートメントを使用する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim FilePath As String = "C:\sample\sample.txt" Try Using sr As New StreamReader(FilePath, Encoding.GetEncoding("Shift_JIS")) End Using Label1.Text = "C:\sample\sample.txtファイルを読み取り用に開きました。" Catch ex As Exception Label1.Text = Err.Description End Try End Sub End Class |
2 | 「実行」ボタンクリック時に以下処理を行う。 |
4 | ファイルパスを、文字列型の変数「FilePath」に代入。 |
8 | シフトJISのテキストファイルを開く処理を実行する。 |
12 | 正常に処理が実行された場合、正常終了のメッセージをラベルに表示する。 |
14 | 処理の実行中にエラーが発生した場合、 |
16 | エラー内容をラベルに表示する。 |
関連記事
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら