Search code examples
c#serializationunity-game-enginefilestreambinaryformatter

How to check if file exists after serialization - C#?


I use this function to save my game state into file with serialization:

public void SaveForX86 ()
{
    UpdateGameState();
    try
    {
        BinaryFormatter bf = new BinaryFormatter();
        FileStream fs = File.Create(Application.persistentDataPath + Helper.GAME_DATA_FILE_NAME);

        GameData data = new GameData();
        data.experience = experience;
        data.score = score;
        data.winPercent = winPercent;
        data.tasksSolved = tasksSolved;
        data.correct = correct;
        data.additions = additions;
        data.subtractions = subtractions;
        data.multiplications = multiplications;
        data.divisions = divisions;
        data.useAddition = useAddition;
        data.useSubtraction = useSubtraction;
        data.useMultiplication = useMultiplication;
        data.useDivision = useDivision;
        data.minRange = minRange;
        data.maxRange = maxRange;
        data.longestChain = longestChain;
        data.useIncrementalRange = useIncrementalRange;
        data.gameStateDirty = gameStateDirty;
        data.longestTaskInSeconds = longestTaskInSeconds;
        data.overallTimeInSeconds = overallTimeInSeconds;
        data.operandsSign = operandsSign;
        data.difficulty = difficulty;

        bf.Serialize(fs, data);
        fs.Close();
    }
    catch (Exception ex)
    {
        Debug.Log(ex.Message);
    }
}

I would like to check whether the file was created. How can I do that in this case?


Solution

  • Use File.Exists:

    if (File.Exists(Application.persistentDataPath + Helper.GAME_DATA_FILE_NAME))
    {
      ....
    }