1

我有两种保存到文件的形式:

一。我将路径保留在代码中。

二。我从用户那里得到路径。

当我在代码中保存路径时,保存成功。今年秋天,当我从用户那里(与我在代码中保留的路径相同)获得以下错误时:

Access to the path is denied

这是我的保存功能(两种方式都达到相同的功能):

public void SaveFile(string path)
{
    try
    {
        XmlSerializer serializer = new XmlSerializer(typeof(List<MyClass>));
        TextWriter textWriter = new StreamWriter(path);
        serializer.Serialize(textWriter, MyList);
        textWriter.Close();
    }
    catch (Exception e)
    {
    }
}

从用户我发送到这个函数如下:

public void UserSave()
{
    //Open dialog in the path that i have in the code:
    fileDialog.InitialDirectory = MyPath;
    if (fileDialog.ShowDialog() == DialogResult.OK)
    {
        SaveFile(Path.GetDirectoryName(fileDialog.FileName));
    }
}

可能是什么问题呢?

4

1 回答 1

1

我在以下行中发现了错误:

SaveFile(Path.GetDirectoryName(fileDialog.FileName));

它基本上将其保存为文件夹而不是文件,所以它倒下了。

我把它改成这样:

SaveFile(fileDialog.FileName);
于 2013-03-12T07:35:54.937 回答