Public Class FormDupeFinder
  Const workingDir = "<hidden>\LyricWiki\Artists\workingdir\"
  Const swaInput = "inp\swa.txt"
  Const mwaInput = "inp\mwa.txt"
  Const output = "res\mwa\mwa swa.txt"

  Private singleWordArtists As New List(Of String)

  Private Sub LoadSingle()
    Dim f = IO.File.OpenText(workingDir & swaInput)
    While Not f.EndOfStream
      singleWordArtists.Add(f.ReadLine)
    End While
    f.Close()
  End Sub

  Private Sub Find()
    ' Do not overwrite old results
    If IO.File.Exists(workingDir & output) Then
      MessageBox.Show("Remove the '" & output & "' file and start again.")
      Exit Sub
    End If

    Dim inputFile = IO.File.OpenText(workingDir & mwaInput)
    Dim outputFile = IO.File.CreateText(workingDir & output)
    While Not inputFile.EndOfStream
      Dim mwa = inputFile.ReadLine
      For Each swa As String In From singleWordArtist In singleWordArtists
                                Where mwa.StartsWith(singleWordArtist & " ") OrElse
                                mwa.EndsWith(" " & singleWordArtist) OrElse
                                mwa.Contains(" " & singleWordArtist & " ")
                                Select singleWordArtist
        outputFile.WriteLine(mwa & vbTab & swa)
      Next
      outputFile.Flush()
    End While
    outputFile.Close()
    inputFile.Close()
  End Sub

  Private Sub ButtonGo_Click(sender As System.Object, e As System.EventArgs) Handles ButtonGo.Click
    LoadSingle()
    Find()
  End Sub
End Class