I'm trying to save/load player data from a file using the persistenceDataPath using the following code:
private void Save() { if (File.Exists (Application.persistentDataPath + "/playerInfo.dat")) { FileStream file = File.Open (Application.persistentDataPath + "/playerInfo.dat", FileMode.Open); data.userExperience = userExperience; bf.Serialize (file, data); file.Close (); } } private void Load() { if (File.Exists (Application.persistentDataPath + "/playerInfo.dat")) { FileStream file = File.Open (Application.persistentDataPath + "/playerInfo.dat ", FileMode.Open); PlayerData data = (PlayerData)bf.Deserialize (file); userExperience = data.userExperience; file.Close (); } } [Serializable] class PlayerData { public int userExperience; }
It works fine if I play the game with Unity Editor. However, on Android, when I try to execute this line of code in Load():
FileStream file = File.Open (Application.persistentDataPath + "/playerInfo.dat ", FileMode.Open);
I get this error:
The file does exist since the code pass through the if(File.Exist...) and it works when I try to access the file from the Save() method.
I really don't know what it could be since the code that open the file in Save() and Load() is the same.
No comments:
Post a Comment