C#打开文件出现乱码
我的打开文本的编码是这样的privatevoidbtnOpen_Click(objectsender,EventArgse){//实例化一个打开对话框OpenFileDi...
我的打开文本的编码是这样的
private void btnOpen_Click(object sender, EventArgs e)
{
//实例化一个打开对话框
OpenFileDialog dlg = new OpenFileDialog();
//设置打开对话框标题
dlg.Title = "打开文件";
//设置打开文件格式
dlg.Filter = "文本文件(txt)|*.txt|所有文件|*.*";
if (dlg.ShowDialog() == DialogResult.OK)
{
//实例化一个StreamReader
StreamReader sr = new StreamReader(dlg.FileName, System.Text.Encoding.Default);
//将文件内容显示在文本框
txtText.Text = sr.ReadToEnd().ToString();
sr.Close();
}
}
打开现有的就没有问题但打开我自己用保存控件保存的就会有乱码,保存的代码是
private void btnSave_Click(object sender, EventArgs e)
{
//实例化一个保存对话框
SaveFileDialog slg = new SaveFileDialog();
slg.Title = "保存文件";
slg.Filter = "文本文件(txt)|*.txt|所有文件|*.*";
if (slg.ShowDialog() == DialogResult.OK)
{
//实例化一个文件流
FileStream fs = new FileStream(slg.FileName, FileMode.Create, FileAccess.Write);
////获得字节数组
//byte[] arr = new UTF8Encoding().GetBytes(txtText.Text);
////开始写入
//fs.Write(arr, 0, arr.Length);
////清空缓冲区、关闭流
//fs.Flush();
//fs.Close();
//实例化一个StreamWriter
StreamWriter sw = new StreamWriter(fs);
sw.Write(txtText.Text); //开始写入
fs.Flush();
sw.Close();
fs.Close();
////实例化BinaryWriter
//BinaryWriter bw = new BinaryWriter(fs);
//bw.Write(txtText.Text); //开始写入
//bw.Flush();
//bw.Close();
//fs.Close();
}
}
三种方式我都试过,都不行。
可我打开已有的又有问题啊!
我是打开才用default啊,保存时是按C#的默认编码保存的。 展开
private void btnOpen_Click(object sender, EventArgs e)
{
//实例化一个打开对话框
OpenFileDialog dlg = new OpenFileDialog();
//设置打开对话框标题
dlg.Title = "打开文件";
//设置打开文件格式
dlg.Filter = "文本文件(txt)|*.txt|所有文件|*.*";
if (dlg.ShowDialog() == DialogResult.OK)
{
//实例化一个StreamReader
StreamReader sr = new StreamReader(dlg.FileName, System.Text.Encoding.Default);
//将文件内容显示在文本框
txtText.Text = sr.ReadToEnd().ToString();
sr.Close();
}
}
打开现有的就没有问题但打开我自己用保存控件保存的就会有乱码,保存的代码是
private void btnSave_Click(object sender, EventArgs e)
{
//实例化一个保存对话框
SaveFileDialog slg = new SaveFileDialog();
slg.Title = "保存文件";
slg.Filter = "文本文件(txt)|*.txt|所有文件|*.*";
if (slg.ShowDialog() == DialogResult.OK)
{
//实例化一个文件流
FileStream fs = new FileStream(slg.FileName, FileMode.Create, FileAccess.Write);
////获得字节数组
//byte[] arr = new UTF8Encoding().GetBytes(txtText.Text);
////开始写入
//fs.Write(arr, 0, arr.Length);
////清空缓冲区、关闭流
//fs.Flush();
//fs.Close();
//实例化一个StreamWriter
StreamWriter sw = new StreamWriter(fs);
sw.Write(txtText.Text); //开始写入
fs.Flush();
sw.Close();
fs.Close();
////实例化BinaryWriter
//BinaryWriter bw = new BinaryWriter(fs);
//bw.Write(txtText.Text); //开始写入
//bw.Flush();
//bw.Close();
//fs.Close();
}
}
三种方式我都试过,都不行。
可我打开已有的又有问题啊!
我是打开才用default啊,保存时是按C#的默认编码保存的。 展开
展开全部
保存默认的是rtf格式的 ,你设定一下格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你邮箱多少 我写了个Demo 发给你 自己看
半天没反应 我把代码放上来 你自己看吧
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.Filter = "txt文件|*.txt";
if (file.ShowDialog() == DialogResult.OK)
{
using (StreamReader read = new StreamReader(file.FileName, Encoding.Default))
{
richTextBox1.Text = read.ReadToEnd();
}
}
}
private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog file = new SaveFileDialog();
file.Filter = "保存文件|*.txt";
if (file.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(file.FileName, RichTextBoxStreamType.PlainText);
}
}
半天没反应 我把代码放上来 你自己看吧
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.Filter = "txt文件|*.txt";
if (file.ShowDialog() == DialogResult.OK)
{
using (StreamReader read = new StreamReader(file.FileName, Encoding.Default))
{
richTextBox1.Text = read.ReadToEnd();
}
}
}
private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog file = new SaveFileDialog();
file.Filter = "保存文件|*.txt";
if (file.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(file.FileName, RichTextBoxStreamType.PlainText);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询