VB.NET Tips - テキストファイルレコード件数取得
指定されたテキストファイルパスとエンコーディングで StreamReader でオープンし、
ファイルを順次 StreamReader.Peek() 関数で読み込み、その回数でレコード件数を取得します。
StreamReader.Peek() 関数で読み込まれたデータは捨てています。
この関数自体は、指定ファイルの存在をチェックしていませんので、必要であればファイルオープン前に確認し、
ファイルが存在しない戻り値を返す必要があります。
テキストファイルレコード件数取得
''' ----------------------------------------------------------------------------- '''''' テキストファイルレコード件数取得 ''' ''' 入力ファイルフルパス名 ''' ファイルのエンコーディング '''レコード件数(-1:エラー発生) ''' ----------------------------------------------------------------------------- Public Function GetTextFileCount(ByVal astrSrcFileName As String, ByVal enc As System.Text.Encoding) As Integer '戻り値初期化 GetTextFileCount = -1 Try Dim intCnt As Integer = 0 '入力ファイルをオープンする Using sr As New System.IO.StreamReader(astrSrcFileName, enc) 'ファイルからレコードが存在するまで読込 While (sr.Peek() >= 0) 'ファイルから1行読込 Dim strRead As String = sr.ReadLine() '件数++ intCnt += 1 End While End Using '件数を返す Return intCnt Catch ex As Exception 'エラー処理が必要な場合は、ここに記述する End Try End Function