Home > Blockchain >  Unable to Save all the elements of a List to a text file
Unable to Save all the elements of a List to a text file

Time:04-08

I am trying to save all the contents of a List into a text file but I am unable to do . Below is the code that I have tried

 // here is my list type 
 List<string> list2 = new List<string>();

 //code below for saving the contents of the list into text file 
 string file = @"C:\Users\textWriter.txt";
        // check if the file exists
        try
        {
            if (File.Exists(file))
            {
                File.Delete(file);
            }
            else
            {
                using (TextWriter tw = File.CreateText(@"SavedList.txt"))
                {
                    foreach (String s in list2)
                        tw.WriteLine(s);
                }
            }
        }
        catch (Exception Op)
        {
            MessageBox.Show(Op.Message);
        } 

CodePudding user response:

Not sure what is the exception but i strongly recommend to use this instead:

File.WriteAllLines(file, list2);

If the target file already exists, it is overwritten.

Documentation: File.WriteAllLines


In your code you are using different paths, maybe that's the reason

CodePudding user response:

You have different pathes in (File.Exists(file) and File.CreateText(@"SavedList.txt"). Next, did u add elements in List?

CodePudding user response:

The problem is solved . With my updated code as suggested by @Tim Schmelter and from the help by this link "https://stackoverflow.com/questions/65423409/c-sharp-access-to-the-path-is-denied-system-unauthorizedaccessexception-acce " I now can see the file with all the contents writed to it .

 string file = @"D:\textWriter.txt";
        // check if the file exists
        try
        {
            if (File.Exists(file))
            {
                File.Delete(file);
            }
            else
            {
                File.WriteAllLines(file, list2);
            }
        }
        catch (Exception Op)
        {
            MessageBox.Show(Op.Message);
        }
    
  • Related