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少了几个换行符的大小
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);
richTextBox1.Text.Replace("\n", "\r\n");
->
richTextBox1.Text = richTextBox1.Text.Replace("\n", "\r\n");