保存到bin文件

时间:2017-01-09 19:59:53

标签: c# wpf

我遇到了C#的问题。大约一个星期前,我在C#中创建了一个应用程序,它包含一个显示bin文件数据的Datagrid,允许人们使用DataGrid编辑它,并且在Window_Closing事件中运行一个方法,将它全部保存回bin中。 / p>

事情是它工作正常,直到我重新编译一个版本(后来我被要求使DataGrid只读,但我仍然需要保存到.bin,因为其他信息)我没有触及任何保存方法与之无关。然后有人告诉我,当它们关闭它时它崩溃了我检查并且当它试图写入文件时它是一个IOException(它完全正常工作,直到我更改了dataGrid的东西)但是如果我更改名称则写得很好(我用过试试/ catch),我不知道我应该在这里发布什么其他信息,所以如果你需要任何帮助我的话就可以问

public void guardar()
{
    try
    {
        File.Delete("Save.bin");
        Save S = new Save(listaProyectos, @"\\192.168.1.250\proyectos");
        FileStream F = new FileStream("Save.bin", FileMode.Create);
        BinaryFormatter b = new BinaryFormatter();
        b.Serialize(F, S);
        F.Close();
    }
    catch (IOException)
    {
        Random r = new Random();
        Save S = new Save(listaProyectos, @"\\192.168.1.250\proyectos");
        FileStream F = new FileStream(r.Next(0,999).ToString()+".bin", FileMode.Create);
        BinaryFormatter b = new BinaryFormatter();
        b.Serialize(F, S);
        F.Close();
    }
}
由于某种原因,捕获部分没有崩溃,即使我只是给它一个随机名称

编辑:因为有人问我,我认为(但我不确定,因为调试器无法正常使用此错误)它崩溃的行在FileStream F = new FileStream("Save.bin", FileMode.Create);

编辑2:由于时间问题,我不得不重新制作大量的项目,现在它不会崩溃(但它几乎是一个以不同方式工作的全新程序,所以问题不是“解决了“),但我会打开这个问题,尝试为那些可能遇到类似问题的人提出不同的解决方案。

EDIT3:使用MessageBox.Show(ex)的堆栈跟踪让我觉得该文件正在FileStream F = new FileStream("Save.bin", FileMode.Create);行中使用。

0 个答案:

没有答案
相关问题