Вот мой код для создания файла .dat или добавления к нему текста:
public static void saveGameAnalyseData(GameAnalyseData gameAnalyseData)
{
Debug.Log(JsonUtility.ToJson(gameAnalyseData) + " " + Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat");
if (File.Exists(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat"))
{
File.AppendAllText(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat", JsonUtility.ToJson(gameAnalyseData) + Environment.NewLine);
}
else
{
File.Create(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat");
if (File.Exists(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat"))
{
File.AppendAllText(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat", JsonUtility.ToJson(gameAnalyseData) + Environment.NewLine);
}
}
}
Но я получаю
IOException: нарушение общего доступа к пути
на втором File.AppendAllText
вызове ...
Я также попробовал этот код:
if (File.Exists(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat"))
{
File.AppendAllText(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat", JsonUtility.ToJson(gameAnalyseData) + Environment.NewLine);
}
else
{
File.Create(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat");
StreamWriter sw = new StreamWriter(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat");
sw.WriteLine(JsonUtility.ToJson(gameAnalyseData) + Environment.NewLine);
// close the stream
sw.Close();
}
но я получаю ту же ошибку в этой строке:
StreamWriter sw = new StreamWriter(Application.persistentDataPath + "/" + gameAnalyseData.gameID + ".dat");
PS: Следует отметить, что когда файл существует, он правильно добавляет к нему текст, проблема заключается в том, что при создании файла и записи в него в первый раз