killsqyeric
killsqyeric
采纳率100%
2017-05-31 14:35

c#从richtextbox中写到文件里不换行

已采纳

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult a;
SaveFileDialog save = new SaveFileDialog();
a = save.ShowDialog();
if (a == DialogResult.OK)
{
FileStream fs = new FileStream(save.FileName, FileMode.Create, FileAccess.Write);
byte[] b;
//b = new byte[c.Length];
richTextBox1.Text.Replace("\n", "\r\n");
richTextBox1.Text.Replace("\r", "\r\n");
b = Encoding.Default.GetBytes(richTextBox1.Text);
fs.Seek(0, SeekOrigin.Begin);
fs.Write(b, 0, b.Length);
fs.Close();
}
DialogResult Dr;
Dr = MessageBox.Show(save.FileName + "保存成功", "保存成功", MessageBoxButtons.OK);
}
richitextbox里有换行,但是写完了打开文件就成一行了
然后如果打开a文件保存到b文件,b比a少了几个换行符的大小
图片说明
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 4年前

    b = Encoding.Default.GetBytes(richTextBox1.Text);
    fs.Seek(0, SeekOrigin.Begin);
    fs.Write(b, 0, b.Length);
    fs.Close();

    这些都不要,换成

    File.WriteAllLines(save.FileName, richTextBox1.Text);

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 4年前
     richTextBox1.Text.Replace("\n", "\r\n");
    ->
    richTextBox1.Text = richTextBox1.Text.Replace("\n", "\r\n");
    
    点赞 评论 复制链接分享

相关推荐