I am making a music player. It has 2 forms; one of them is the main area where you play music. The second form has a CheckedListBox, where you select the mp3 you need. When I click the button, it saves the selection in the .txt file, so I can access them in the first form, where I will put the lines in the path for the music player to find the files.
This is the code in my second form, where I save the selected songs to .txt files.
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);
The problem is that whenever I close the program and open it again, I cannot overwrite / clear the .txt file. It just adds an existing file. Is there something that I am not doing right?
Here are my read / write codes. I am sure that I also closed it after launch, but maybe someone can understand what happened:
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) ;
source share