查看以下代码(它是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
也无效。
答案 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返回的文件流。用它打开流并写。