killsqyeric
2017-05-31 14:35
采纳率: 100%
浏览 1.3k

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条回答 默认 最新

  • threenewbee 2017-05-31 15:08
    已采纳

    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);

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2017-05-31 14:51
     richTextBox1.Text.Replace("\n", "\r\n");
    ->
    richTextBox1.Text = richTextBox1.Text.Replace("\n", "\r\n");
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题