"IOException: Sharing violation on path..." Исключение (Ошибка) в Unity

Использую Unity 2020.3.32f1 Personal <DX11> (Списал заголовок окна чисто :D)

В общем я написал код, который скачивает файл из гугл диска по ссылке. Но на этапе чтения файла вылазит исключение (ошибка) от System.IO... Полный текст ошибки будет приведён в самом низу.

using System;
using System.IO;
using System.Net;
using UnityEngine;

public class JSONDownload : MonoBehaviour //Не обращайте внимание на название класса... Я сначала хотел JSON скачивать, а потом понял, что в моих целях будет лучше .txt
{
    [SerializeField] private string _url; //Переменная, куда я вставлюя ссылку. Ссылка является источником, откуда качается файл. (Ссылка ведёт на мой Google Диск, где лежит мой файл)

    private void Start()
    {
        string path = Application.dataPath + "/SaveData/" + "UrlsForLoad" + ".txt"; //Объявление пути к нашему файлу.

        WebClient client = new WebClient(); //Объявление веб клиента для всякого.

        client.DownloadFileAsync(new Uri(_url), path); //Файл скачивается по ссылке. тут всё работает отлично и файл вправду создаётся в ".../Assets/SaveData/UrlsForLoad.txt". После выхода из режима игры я даже проверял этот файл и он точно такой же, как тот, к которому ведёт ссылка.

        string line = File.ReadAllText(path); //Ошибка. По идеи в переменную line должно записываться это: "Yeeep!" (Это содержимое файла, который был скачан)
        Debug.Log(line); //Тут я хотел выводить это сообщение в консоль, чтобы удостовериться, что всё работает правильно.
    }
}

Скрипт весит на "Main Camera", но это не имеет значения.

Сама сцена в принципе пустая... Ну там камера, канвас с кнопкой, которая переносит на другую сцену, да и всё.

Полный текст ошибки:

IOException: Sharing violation on path E:\UnityProjects\Polygon Wars\Assets\SaveData\UrlsForLoad.txt
System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0)
(wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.IO.StreamReader..ctor (System.String path) (at <695d1cc93cca45069c528c15c9fdd749>:0)
(wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor(string)
System.IO.File.ReadAllText (System.String path) (at <695d1cc93cca45069c528c15c9fdd749>:0)
JSONDownload.Start () (at Assets/Scripts/GoogleDriveDownload/JSONDownload.cs:20)

P.S. Не знаю насколько сильно это относится к C#. Вряд-ли на чистом C# это такая частая ошибка, хотя я не могу этого знать наверняка. Но, короче, метку C# я поставил.


Ответы (0 шт):