c#读取文本文件出现乱码
在写c#代码的时候,遇到一个问题,在使用File.ReadAllText()打开文本文件的时候,调试发现打开的文本是乱码,我生成的这个文本文件是在c++程序下,以多字节格式生成的,然后保存的一个文本,c# 使用File.ReadAllText()读取这个文本的时候没有指定字符集。
解决方法:
1.使用File.ReadAllText()读取文件:
File.ReadAllText(strfilename,System.Text.Encoding.Default) //在后面加上默认字符集,strfilename指的是文件的路径加名称(包括后缀名)
2.使用FileStream和 StreamReader
FileStream fs = new FileStream(strfilename, FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
StreamReader sr = new StreamReader(fs, Encoding.Default); //在后面加上默认字符集
下面是我实际项目中的实际代码:
功能就是为了实现打开并识别两种字符集(unicode和多字节)的文本,然后根据判断文本的内容,进行其他操作
// 获取测试结果if (File.Exists(ti.Path + "\\TestResult.txt"))//更改字符集不同的读取的乱码,导致测试结果无法读取的问题,{string data_back = File.ReadAllText(ti.Path + "\\TestResult.txt"); //读取UNICODE文本,如果文本是多字节则出现乱码——sxlstring path = ti.Path + "\\TestResult.txt";FileStream fs = new FileStream(path, FileMode.Open,FileAccess.Read,FileShare.ReadWrite);StreamReader sr = new StreamReader(fs, Encoding.Default); //用于支持读取多字节文本,防止乱码--sxlstring data = sr.ReadLine();if (!string.IsNullOrEmpty(data) && (data.Contains("测试成功") || data_back.Contains("测试成功"))) //上面通过两种方式读取文本文件,如果不为空并且任何一种方式读取到测试结果文本,则测试成功--sxl{ti.Result = (int)TestResult.Success;dgvTestPrograms.Rows[i].Cells["Result"].Value = "测试成功";dgvTestPrograms.Rows[i].DefaultCellStyle.BackColor = Color.Green;}else{ti.Result = (int)TestResult.Fail;dgvTestPrograms.Rows[i].Cells["Result"].Value = "测试失败";dgvTestPrograms.Rows[i].DefaultCellStyle.BackColor = Color.Red;}fs.Close();// new的对象没有关闭导致测试结果文本被进程占用,无法上传的问题sr.Close();}
c#读取文本文件出现乱码相关推荐
- 解决C#读取文本文件乱码
在读取文本文件的内容时,如果里面有中文,常常出现乱码问题.一般原因主要是文本文件的编码不是UTF-8格式,而C#中读文件默认的编码是UTF-8,所以读出的是乱码. 解决办法是进行编码的转化. 代码如下 ...
- 使用字节流读取文本文件时,乱码问题的产生与解决
问题: 使用字节流读取文本文件时,会将一个汉字劈成两半,一次只能读一半出来,产生了乱码,无法使用.就算是一次读取2个字节出来,也依然不能解决问题. 如何解决乱码问题,读出完整的汉字和中英文混杂的整篇文 ...
- python读取文件编码错误_Python 读取文本文件编码错误解决方案(未知文本文件编码情况下解决方案)...
很多情况下我们是这样读取文本文件的: with open(r'F:\.Python Project\spidertest1\test\pdd凉席.txt', 'r') as f: text = f.r ...
- Python 基于csv 读取文本文件提示:‘gbk‘ codec can‘t decode byte 0xbf in position 2: illegal multibyte sequence
报错 Python 基于csv 读取文本文件提示:'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequenc ...
- python文本文件读取失败_Python 读取文本文件编码错误解决方案(未知文本文件编码情况下解决方案)...
很多情况下我们是这样读取文本文件的: with open(r'F:\.Python Project\spidertest1\test\pdd凉席.txt', 'r') as f: text = f.r ...
- Java 读取文本文件
文章目录 File FileReader InputStreamReader BufferedReader(解决方法在这里) 解决中文乱码 FileInputStream 我想用Java 读取文本文件 ...
- Delphi 读取文本文件的两种方式
用两种方式读取文本文件:文件流读取和文件变量读取 一.文件流方式 {*******************************************************} {功能:读取文本文 ...
- R语言readLines函数、n.readLines函数、readline函数读取文本文件实战
R语言readLines函数.n.readLines函数.readline函数读取文本文件实战 目录 R语言readLines函数.n.readLines函数.readline函数读取文本文件实战 # ...
- TCP协议客户端读取文本文件,服务器端输出到文本文件
package cn.idcast11;import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.Fil ...
- 使用fscanf读取文本文件
fscanf为读取文本文件的一个c API,其特点是可格式化读取文件内容. 1 FILE* pf = fopen("c:\\hello.txt", "r"); ...
最新文章
- dom4j读写xml文件
- AMNO.6 给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字
- 使用android ProgressBar和Toast生成一个界面
- Docker部署微服务详解
- 【TensorFlow】笔记2:深层神经网络
- 【HDU 1711】Number Sequence(裸KMP算法)
- Zookeeper选举算法( FastLeader选主)
- pycharm设置字体和背景色
- 【WebRTC---入门篇】(十八)WebRTC非音视频数据传输
- webScoket的浅短的认识
- linux用echo显示欢迎信息,我使用过的Linux命令之echo - 显示文本、打印信息
- 带你学习ES5中新增的方法
- 3文件提取器_奇淫巧技 | 快速批量提取 PPT 中所有图片素材方法
- 【springBoot】springBoot返回json的一个问题
- 让在vc6创建的程序中,控件可以随xp风格的改变而变化,不用再程序中添加代码来自己实现~...
- 推荐一个不错的免费的asp空间
- uvalive 4987 Evacuation Plan 疏散计划
- office 2010 ppt 添加音乐等相关问题
- 2023年武汉市中等职业学校技能大赛 “网络搭建与应用”
- “图形驱动程序无法找到兼容的图形硬件”的处理方式