日期:2014-05-18  浏览次数:20797 次

一个实现保存功能的问题
private void button2_Click(object sender, EventArgs e)
  {
  //SaveFileDialog saveFileDialog = new SaveFileDialog();
  //saveFileDialog1.Filter = "文本文件|*.*|C#文件|*.cs|所有文件|*.*";
  saveFileDialog1.FilterIndex = 2;
  saveFileDialog1.RestoreDirectory = true;
  if (saveFileDialog1.ShowDialog() == DialogResult.OK && saveFileDialog1.FileName != "")
  {
  myfile = saveFileDialog1.FileName;
  }
  //第二个参数为false代表改写内容,不是追加
  StreamWriter Writer = new StreamWriter(myfile, false, Encoding.Default);
  try
  {
  foreach (string line in textBox1.Lines)
  {
  Writer.Write(line + "\r\n", Encoding.Default);
  }
  Writer.Flush();//将缓冲区的数据写入流
  }
  catch (Exception ex)
  {
  MessageBox.Show("保存文件失败!" + ex.Message);
  }
  finally
  {
  Writer.Close();
  }

  }


保存的内容里有{}个符号的时候,提示保存失败,,什么原因????
保存的内容里有大括号的时候,提示保存失败。

------解决方案--------------------
添加命名空间: System.Text.RegularExpressions
Regex.Escape 方法
改成
C# code

foreach (string line in textBox1.Lines)
  {
    Writer.Write(Regex.Escape(line) + "\r\n", Encoding.Default);
  }