¿Cómo sobrescribir un archivo si ya existe?

Estoy haciendo un reproductor de música. Tiene 2 formas; uno es el área principal donde tocas música. El segundo formulario tiene un CheckedListBox donde selecciona los mp3 que desea. Cuando hago clic en un botón, guarda la selección en un archivo .txt para poder acceder a ellos en la primera forma, donde pondré las cadenas en las rutas para que el reproductor de música encuentre los archivos.

Este es el código en mi segunda forma, donde guardo las canciones seleccionadas en archivos .txt.

private void selectbtn_Click(object sender, EventArgs e)
{
    if (File.Exists(@"C:\Users\Me\Desktop\JAM_MACHINE\JAMS\record.txt"))
    {
       File.WriteAllText(@"C:\Users\Me\Desktop\JAM_MACHINE\JAMS\record.txt", String.Empty);
    }

    string[] checkedtitles = new string[checkedListBox1.CheckedItems.Count]; 

    for (int ii = 0; ii < checkedListBox1.CheckedItems.Count; ii++)
    {
        checkedtitles[ii] = checkedListBox1.CheckedItems[ii].ToString();
    }
    string selectedSongs = String.Join(Environment.NewLine, checkedtitles); 

    songRecord.writeRecord(selectedSongs); //I initialised the class containing streamwriter/reader, and called it songRecord
    this.Close();   
}

El problema es que cada vez que cierro el programa y lo vuelvo a abrir, no puedo reescribir / borrar el archivo .txt. Simplemente se agrega al archivo existente. ¿Hay algo que no estoy haciendo bien?

Aquí están mis códigos de lector / escritor. Estoy bastante seguro de que lo cerré después de correr también, pero tal vez alguien pueda descubrir qué está mal:

namespace songss
{
    class DataRecord
    {
    public void writeRecord(string line)
    {
        StreamWriter sw = null;
        try
        {
            sw = new StreamWriter(@"C:\Users\Me\Desktop\JAM_MACHINE\record.txt", true);
            sw.WriteLine(line);
        }
        catch (FileNotFoundException)
        {
            Console.WriteLine("Error: File not found.");
        }
        catch (IOException)
        {
            Console.WriteLine("Error: IO");
        }
        catch(Exception)
        {
            throw;
        }
        finally
        {
            if (sw != null)
                sw.Close();
        }
        }

 public void readRecord()
    {
        StreamReader sr = null;
        string myInputline;
        try
        {
            sr = new StreamReader(@"C:\Users\Me\Desktop\JAM_MACHINE\record.txt");
            while ((myInputline = sr.ReadLine()) != null) ; //readline reads whole line
            Console.WriteLine(myInputline);
        }
        catch (FileNotFoundException)
        {
            Console.WriteLine("Error: File not found");
        }
        catch(IOException)
        {
            Console.WriteLine("Error: IO");
        }
        catch (Exception)
        {
            throw;
        }
        finally
        {
            if (sr != null)
                sr.Close();
        }
    }
    }
    }

Respuestas a la pregunta(3)

Su respuesta a la pregunta