Here is one way, using the .split element that allows you to designate what the splitting character is. Private Sub Exchange_Calculator_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'opens the selected file Dim openFile As StreamReader = File.OpenText("rates.txt") 'each line of the rates.txt file contains the following information as a csv file 'strcountry is each country, stored as a seperate element in rates.txt 'strcurrency is each country, stored as a seperate element in rates.txt 'strrate is each rate, stored as a seperate element in rates.txt Dim C As Integer = 0 Do While openFile.Peek <> -1 'there are 5 students in the the file. strexchange = openFile.ReadLine() 'Each element of StrSplit is gotten from whatever is read, seperated 'by a comma strsplit = strexchange.Split(",") ' Load split text into an array strarraysplit(0, C) = strsplit(0) strarraysplit(1, C) = strsplit(1) strarraysplit(2, C) = strsplit(2) strarraysplit(3, C) = strsplit(3) C = C + 1 Loop 'close the file openFile.Close() 'load lists For J As Integer = 0 To C - 1 lstCountry.Items.Add(strarraysplit(0, J)) lstCurrency.Items.Add(strarraysplit(1, J)) lstRate.Items.Add(strarraysplit(2, J)) lstSymbol.Items.Add(strarraysplit(3, J)) Next End Sub