c#做记事本,怎么打开正常的txt文件会出错
,自己通过那记事本保存的文档再打开可以,但是用window的记事本打开用那记事本保存的文件是乱码 打开,保存代码如下
//打开文件
private void openToolStripMenuItem_Click_1(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
DialogResult result = open.ShowDialog();
if (result == DialogResult.OK)
{
fileName = open.FileName;
open.Filter = "Text(*.txt)|*.txt|RichText(*.rtf)|*.rtf|所有文件|*.*";
richTextBox.LoadFile(fileName);
}
//保存文件
private void saveFileToolStripMenuItem_Click(object sender, EventArgs e)
{
if (fileName == null)
{
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "Text(*.txt)|*.txt|RichText(*.rtf)|*.rtf|所有文件|*.*";
DialogResult result = dialog.ShowDialog();
if (result == DialogResult.OK)
{
fileName = dialog.FileName;
richTextBox.SaveFile(fileName);
答案:记事本文件,是 plaintext 模式,你的 richtextbox 使用方法有误。正确的代码如下:
//打开文件
private void openToolStripMenuItem_Click_1(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Text(*.txt)|*.txt|RichText(*.rtf)|*.rtf|所有文件|*.*";
DialogResult result = open.ShowDialog();
if (result == DialogResult.OK)
{
fileName = open.FileName;
richTextBox.LoadFile(fileName, RichTextBoxStreamType.PlainText);
}
//保存文件
private void saveFileToolStripMenuItem_Click(object sender, EventArgs e)
{
if (fileName == null)
{
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "Text(*.txt)|*.txt|RichText(*.rtf)|*.rtf|所有文件|*.*";
DialogResult result = dialog.ShowDialog();
if (result == DialogResult.OK)
{
fileName = dialog.FileName;
richTextBox.SaveFile(fileName, RichTextBoxStreamType.PlainText);
}
其他:应该是文件编码问题
StreamReader srAsciiFromFileFalse = new StreamReader(filename,System.Text.Encoding.GetEncoding("Gb2312"));
先试下GB2312 不行再试别的。
上一个:C#几条程序设计题,求救啊!
下一个:ultraedit 如何把字符串自动转化为xml格式