When writing a txt file, it says sharing violation

I asked this question before, but I updated my code and the same problem rises. Here is my code:

This is the saving/loading code:

public void GetDatesFromFile(string pathToLoad)
{
    Debug.Log("It is here!");
    if (File.Exists(pathToLoad))
    {
        Debug.Log("Exists");
        using (StreamReader reader = File.OpenText(pathToLoad))
        {
            string currentLine = "";
            string[] currentElements;
            string[] separatorString = new string[] { "," };
            currentLine = reader.ReadLine();
            currentElements = currentLine.Split(separatorString, StringSplitOptions.RemoveEmptyEntries);
            MainMenuBasicBehaviour.theTime = currentElements[0];
            MainMenuBasicBehaviour.theDate = currentElements[1];
            reader.Close();
        }
    }
    else
    {
        Debug.Log("No Exists");
        using (File.CreateText(pathToLoad))
        {
            using (TextWriter writer = new StreamWriter(pathToLoad, false))
            {

                writer.WriteLine("00:00:00,00/00/0000,1,1,500,20000,1500,50,20,10,5,2,1,1,0,10,50,50");
                writer.Close();
            }
            MainMenuBasicBehaviour.theTime = "00:00:00";
            MainMenuBasicBehaviour.theDate = "00 / 00 / 0000";
        }
    }
}

This is the main class MainMenuBasicBehaviour

public void GetDates()
{
    for (int i = 0; i < filePaths.Length; i++)
    {
        filePath = Application.persistentDataPath.ToString() + filePaths*;*

Debug.Log(theDate + " " + theTime + filePath);
savingTextObject.GetDatesFromFile(filePath);
Debug.Log(theDate+" "+theTime+filePath);
SavingTexts*.text = "Load game taken in:
" + theDate + " at " + theTime;*

}
}
And the error is the following:
IOException: Sharing violation on path C:*\The Age Of Politics\Autosave.txt
System.IO.FileStream…ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/FileStream.cs:320)
System.IO.FileStream…ctor (System.String path, FileMode mode, FileAccess access, FileShare share)
(wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
System.IO.StreamWriter…ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/StreamWriter.cs:124)
System.IO.StreamWriter…ctor (System.String path, Boolean append)
(wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool)
SavingTextsScripts.GetDatesFromFile (System.String pathToLoad) (at Assets/Scripts/SavingTextsScripts.cs:168)
MainMenuBasicBehaviour.Start () (at Assets/Scripts/MainMenuBasicBehaviour.cs:33)
SavingTextsScripts.cs:168 is the line: using (TextWriter writer = new StreamWriter(pathToLoad, false))
MainMenuBasicBehaviour.cs:33 is the line: savingTextObject.GetDatesFromFile(filePath);
I don’t know what I do wrong. If you need the full code, contact me in private.
Thank you in advance for your help :slight_smile:
P.S. The script is perfectly working when there are already the save files in the pathToLoad

The answer is that I have to write

file.CreateText(FilePath).Dispose();
 using (TextWriter writer = new StreamWriter(pathToLoad, false))
         {
             writer.WriteLine("00:00:00,00/00/0000,1,1,500,20000,1500,50,20,10,5,2,1,1,0,10,50,50");
             writer.Close();
         }

not

using (File.CreateText(pathToLoad))
{
 using (TextWriter writer = new StreamWriter(pathToLoad, false))
         {
             writer.WriteLine("00:00:00,00/00/0000,1,1,500,20000,1500,50,20,10,5,2,1,1,0,10,50,50");
             writer.Close();
         }
  }