System.IO.IOException: нарушение общего доступа на пути

Я получаю следующее нарушение совместного доступа:

System.IO.IOException: 'Sharing violation on path /data/user/0/android_game.android_game/files/GameSave.txt'

При попытке использовать следующий код с помощью Visual Studio для записи/чтения файла в каталоге Environment.SpecialFolder.Personal

string FilePath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
FilePath = Path.Combine(FilePath, "GameSave.txt");

StreamWriter savefile = new StreamWriter(FilePath, true);
savefile.WriteLine("test");

StreamReader sr = new StreamReader(FilePath);
Console.WriteLine(sr.ReadLine());
sr.Close();

Для контекста, мне просто нужен основной текстовый файл сохранения для игры, я не пытаюсь поделиться с другим приложением. Любая помощь будет приветствоваться, спасибо.


person roguedev    schedule 02.01.2020    source источник
comment
Вы должны объявить поставщика файлов, чтобы предоставить доступ к другим приложениям. эта ссылка должна помочь вам forums.xamarin.com /обсуждение/151985/   -  person Jawad Zeb    schedule 02.01.2020
comment
Извините, но не могли бы вы быть более конкретным? Я не пытаюсь предоставить доступ к другому приложению, просто читаю и записываю текстовый файл в том же приложении.   -  person roguedev    schedule 02.01.2020
comment
Отвечает ли это на ваш вопрос? Нарушение общего доступа IOException при чтении и записи в файл C#   -  person fdrobidoux    schedule 06.01.2020


Ответы (1)


Выяснил это, найдя этот поток: нарушение совместного доступа IOException при чтении и записи в файл C#

Решение заключалось в том, чтобы закрыть Streamwriter перед чтением файла с помощью savefile.Close().

person roguedev    schedule 03.01.2020