2016-02-26 74 views
0

我用这个功能我的比赛状态保存到文件系列化:如何检查序列化后文件是否存在 - C#?

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); 
    } 
} 

我想检查文件是否已创建。在这种情况下我怎么能做到这一点?

+0

所以我把问题保留原样或删除它? – Vlad

+0

你不能删除它,因为你有答案。 – HimBromBeere

+0

@vlad请点击删除为主持人节省大量时间。我在你提出的欺骗问题中给了你完整的答案。 – Fattie

回答

1

使用File.Exists

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

你鸵鸟政策需要仿佛序列化失败(例如,因为IO错误的)异常应该被抛出。所以,如果没有人抛出你的文件应该被创建。