从Silverlight应用程序编写文件时出现问题

时间:2011-04-07 13:37:11

标签: c# silverlight

查看以下代码(它是Silverlight应用程序的一部分):

SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "JSON Files|*.json|All Files (*.*)|*.*";
dialog.DefaultExt = "json";
if (dialog.ShowDialog() == true) {
    string filename = dialog.SafeFileName;
    System.IO.StreamWriter sw = 
        new System.IO.StreamWriter(new FileStream(filename,FileMode.Create));
    sw.Write("string");
    sw.Flush();
    sw.Close();
}

它在开发人员计算机上工作(创建文件并在其中写入“字符串”),但在我的机器上什么都不做,根本不创建文件。

任何想法可能是什么?!提前谢谢!

P.S。我们尝试删除sw.Flush();但没有帮助。我们也尝试将autoflush设置为true - 也没有帮助。将FileMode.Create更改为FileMode.Append也无效。

2 个答案:

答案 0 :(得分:3)

试试这个:

        SaveFileDialog dialog = new SaveFileDialog();
        dialog.Filter = "JSON Files|*.json|All Files (*.*)|*.*";
        dialog.DefaultExt = "json";
        if (dialog.ShowDialog() == true) {
            System.IO.StreamWriter sw = new System.IO.StreamWriter(( Stream )dialog.OpenFile());
            sw.Write("string");
            sw.Close();
        }

答案 1 :(得分:2)

这是一个安全问题,您需要使用SaveFileDialog返回的文件流。用它打开流并写。

SaveFileDialog.OpenFile()