2
Answers

How to append the content in the list box to the text file...?

Sin Yee

Sin Yee

13y
1.6k
1
Hi..i don't know how to append the content of listbox to the exist text file? when i append the content of the listbox to the textfile, the previous data that i clear and not show in the list box will append together with the content of listbox (the only data that i want append to the text file) to the text file. What should i do to not append the previous data that i clear already.
I will upload the coding here.
 private void Browse2_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog fileOpen = new OpenFileDialog())
            {
                try
                {
                    fileOpen.Filter = "All files(*.*)|*.*";
                    fileOpen.InitialDirectory = ".\\";
                    fileOpen.Title = "Open";

                    if (fileOpen.ShowDialog() == DialogResult.OK)
                    {
                        StreamReader sr2 = new StreamReader(fileOpen.FileName, Encoding.Default);
                        str2 = sr2.ReadToEnd();// read to all the contents of  data2
                        sr2.Close();

                        ContentBox2.Text = str2;
                        file2Path.Text = fileOpen.FileName;
                    }
                }

                catch (Exception o)
                {
                    string Message = o.Message + "\n\nCannot open " + fileOpen.FileName;
                    MessageBox.Show(Message, "Open error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (File.Exists(fileOpen.FileName))
                {
                    StreamReader file2 = null;
                    try
                    {
                        file2 = new StreamReader(fileOpen.FileName);

                        while ((line2 = file2.ReadLine()) != null)
                        {
                            SplitItemList1 = "";
                            //sb2.AppendLine(line2);  
                            //txtCaseInputs.Text = sb2.ToString().Trim();

                            line2 = line2.Replace("\r\n"," ");
                            String[] Split2 = (line2).Split(' ');//split 
    
                            foreach (string byline in Split2)
                            {
                                SplitItemList1 += "\r\n" + byline;
                            }
                           
                           //sb3.Append(SplitItemList1);
                           //MessageBox.Show(sb3.ToString().Trim());
                           //MessageBox.Show(SplitItemList1.Trim());
                             
                            txtCaseInputs.Text = SplitItemList1.ToString().Trim();
                             GenCombItems2();
                          }
                        file2.Close();
                          // MessageBox.Show(sb2.ToString().Trim());

                    }
                    catch (Exception o)
                    {
                        string Message = o.Message + "\n\nCannot open " + fileOpen.FileName;
                        MessageBox.Show(Message, "Open error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
            }

        }
        
        private void GenCombItems2()
        {
            lbCombinations2.Items.Clear();

            int k = 2;
            int n = txtCaseInputs.Lines.Length;
          
                // txtNumCombinations.Text = Combination.Choose(n, k).ToString();

                Combination c = new Combination(n, k);

                string[] result = new string[k];

                while (c != null)
                {
                    result = c.ApplyTo(txtCaseInputs.Lines);
                    
                    StringBuilder sb = new StringBuilder();

                    for (int i = 0; i < result.Length; ++i)
                    {
                        sb.AppendFormat("{0}{1}", result[i], " ");
                    }
                                 
                    c = c.Successor();    
                    lbCombinations2.Items.Add(sb.ToString().Trim());
                }
                //txtCaseInputs.Clear();  
                
                 DisplayResult2();
             
                //MessageBox.Show(ShowResult2.ToString());               
      }

       //String ShowResult2 = "\n";
      
        private void DisplayResult2()
        {
            foreach (string addItems in lbCombinations2.Items)
            {
                //MessageBox.Show(sort); 
                if (!(list1.ContainsKey(addItems)))
                {
                    list1.Add(addItems, 1);
                }
                else
                {
                    int Count = (int)list1[addItems];
                    list1[addItems] = Count + 1;
                    //MessageBox.Show(list1[addItems].ToString());
                }
                // MessageBox.Show(list1[addItems].ToString());
            }
         
          
            IDictionaryEnumerator enumerator = list1.GetEnumerator();
            ListItemCom2.Items.Clear();
            while (enumerator.MoveNext())
            {                 
               ListItemCom2.Items.Add(enumerator.Key.ToString() + ":" + enumerator.Value.ToString() + "\n");
               //ShowResult2 += enumerator.Key.ToString() + ":" + enumerator.Value.ToString() + "\n";
             }
           // MessageBox.Show(ShowResult2);
  
            FileStream fs2 = new FileStream(@"C:\Users\Fish\Desktop\fyp-coding\Combine1.txt", FileMode.Append, FileAccess.Write, FileShare.Write);//create text file 
            StreamWriter sw2 = new StreamWriter(fs2, Encoding.Default);
            
            foreach (string item2 in ListItemCom2.Items)
            {
                //sw2.WriteLine(item2.ToString());// write to the text file         
            }
            sw2.Flush();
            sw2.Close();
            fs2.Close();
         
            //SaveToTextFile2();
        }
Answers (2)