a file doesn't want to be deleted or overwritted

raikoug's Avatar, Join Date: Jan 2012
Newbie Member
Hi all,
I've a problem with a file! but i think this is due to a code error i can't see.
My program create a file with some information within. Then I search the information into the file, I fine them, and write them to screen (I use visual studio pro evaluetion ^^) with some textbox.. then I give the possibility to modify or delete the content found, to do this i make a string of all file (i will quote my code!) then i search use the replace string.replace("before";"after");, but this is not the problem. Now I've my string with all file modified, and ready to replace the all the old file! So i decide do rewrite all the file with the new string, but it doesn't change. If i decide to save it to a new file, than it works... but I don't need this!

Code:
/* Already created string named elimina (i'm italian..) with the content i want to delete in the file, and the string fileContent, with all the file content.*/ 
            try
            {
                //Pass the file path and file name to the StreamReader constructor (some comments are of the msdn, not mine :D)
                StreamReader sr = new StreamReader("lista.txt");   // file name is lista.txt into the folder of the executable

                fileContent = sr.ReadToEnd();  // taken all the file
                 
                fileContent = fileContent.Replace(elimina, "");   // deleted from the new string what I don't want anymore

                 
                //close the file
                sr.Close();
                Console.ReadLine();

       
            }
            catch (Exception f)
            {
                Console.WriteLine("Exception: " + f.Message);
            }
            finally
            {
                Console.WriteLine("Executing finally block.");
            }
             

            /* Now I try to overwrite all the file lista.txt with the new string fileContent */

             try
             {
                 //Open the File
                 StreamWriter sc = new StreamWriter("Lista.txt", false);

                 sc.Write(fileContent);


                //close the file
                sc.Close();
            }
            catch (Exception de)
            {
                Console.WriteLine("Exception: " + de.Message);
            }
            finally
            {
                Console.WriteLine("Executing finally block.");
            }
This code give no error, but it doesn't work. If in the second stream of file I choose to write into a file named "what i want.txt" it works perfectly, creating the new file and writing on it the new content i wanted.

Thanks for reading, and sorry for my italian-school english! (No good teacher... XD)
raikoug's Avatar, Join Date: Jan 2012
Newbie Member
I'm going mad on this (in italian we say these exactly words, dunno if in english it means anything... sorry). But the conclusion is that visual studio is mad:
This code totally work, IF you click 5 times on the button that should start that code... if you click it once, it doesn't works... do you know something similar o why it does so? Thanks