读取文件主要是要设置读取的输入流如InputStreamReader时要设置读取的解码格式,要和文件本身的编码格式相同,这样读取出来的才不会乱码。

InputStreamReader reader = new InputStreamInputReader(input, "编码格式");

ANSI是"gbk"

注:必须是在读取的时候就使用正确的解码格式否则都会乱码!!!!

而要转换编码格式也只有正确读取后才能转,否则转换不会成功还是会乱码。

更改格式的方法:

  str.getByte[]("编码格式");

  new String(str.getByte[](), "要转换的格式")

java读取txt文件,如果编码格式不匹配,就会出现乱码现象,所以读取txt文件的时候需要设置读取编码。txt文档编码格式都是写在文件头的,在程序中需要先解析文件的编码格式,获得编码格式后,在按此格式读取文件就不会产生乱码了。

  1. InputStream inputStream = new FileInputStream("E:/1.txt");
  2. byte[] head = new byte[3];
  3. inputStream.read(head);
  4. String code = "";
  5. code = "gb2312";
  6. if (head[0] == -1 && head[1] == -2 )
  7. code = "UTF-16";
  8. if (head[0] == -2 && head[1] == -1 )
  9. code = "Unicode";
  10. if(head[0]==-17 && head[1]==-69 && head[2] ==-65)
  11. code = "UTF-8";

转载于:https://www.cnblogs.com/DonkeyTomy/archive/2012/12/23/2830171.html

【Java IO知识】读取中文乱码问题解决相关推荐

  1. 关于java.util.Properties读取中文乱码的正确解决方案(不要再用native2ascii.exe了)...

    从Spring框架流行后,几乎根本不用自己写解析配置文件的代码了, 但近日一个基础项目(实在是太基础,不能用硕大繁琐的Spring), 碰到了用java.util.Properties读取中文内容(U ...

  2. java web项目——MySQL中文乱码问题解决

    在我们开发java web项目使用MySQL数据库时,常会遇到中文乱码的问题,比如:使用MySQL命令行查询数据库中的表显示中文乱码:使用jdbc访问数据库读取到中文乱码:在jsp页面显示中出现中文乱 ...

  3. 20201211_127_编码知识_中文乱码问题解决

    常用编码介绍 在操作文本文件时,经常会操作中文,这时候就经常会碰到乱码问题.为了让大家有能力解决中文乱码问题,这里简单介绍一下各种编码之间的关系. 常用编码之间的关系如下: ASCII 全称为 Ame ...

  4. Java IO流读取中文

    一.使用FileInputStream 字节流正确读取中文 1. 必须了解文本是以哪种编码方式保存字符的 2. 使用字节流读取了文本后,再使用对应的编码方式去识别这些数字,得到正确的字符 privat ...

  5. java改文字乱码快捷键,java.util.Properties读取中文内容(UTF-8格式)的配置文件,发生中文乱码...

    转自 http://blog.csdn.net/zhangzikui/article/details/7708827 碰到了用java.util.Properties读取中文内容(UTF-8格式)的配 ...

  6. java执行cmd命令,返回结果中文乱码问题解决

    java执行cmd命令,返回结果中文乱码问题解决 参考文章: (1)java执行cmd命令,返回结果中文乱码问题解决 (2)https://www.cnblogs.com/kwaitfort/p/90 ...

  7. java.net.url 中文乱码_jsp get Url请求方式中文乱码问题解决办法

    本文章来给大家介绍关于jsp get Url请求方式中文乱码问题解决办法,有需要的朋友可参考. jsp中post方式请求一般不会乱码,如果乱码加上这句: 解决办法一 代码如下 复制代码 request ...

  8. java解决properties中中文乱码问题

    Java解决properties中中文乱码的问题 Properties文件介绍 与Properties文件的前世今生 native2ascii.exe的使用 首先编写配置文件 实验 修改测试代码进行更 ...

  9. php 和mysql中文乱码问题,常见php与mysql中文乱码问题解决办法

    常见php与mysql中文乱码问题解决办法 乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号. 症状:用PHPmyAdmin输 ...

最新文章

  1. 干货|全面介绍微软开源可解释机器学习框架InterpretML
  2. 操作系统内存管理_操作系统6内存管理基础
  3. 鸿蒙兼容安卓app 为什么还要生态,就因为鸿蒙兼容安卓APP,中兴就宣布弃用?...
  4. 对于我这个软妹子来说,为什么python编程课会越学越有趣呢?
  5. matlab思考,关于Matlab编程的思考(待续)
  6. 如何才能给路由器恢复出厂设置
  7. Java集合中List,Set以及Map等集合体系详解(史上最全)
  8. 【数学建模】2018 A题 高温作业专用服装设计(8.22-8.24训练)
  9. 互联网,我的二十年体验
  10. xp访问计算机组提示没有权限,WindowsXP系统提示没有权限使用网络怎么办
  11. Python里面这些点,据说80%的新手都会一脸懵逼
  12. 图片和边框的距离调整html,css图片如何设置上边框距离
  13. ftp客户端安装,六款可以安装的ftp客户端
  14. U盘提示格式化,8G的U盘变成了8M,并无法格式化打不开U盘解决方法
  15. 打开dbf时自动打开fxp_打开游戏时提示缺少必要组件打不开怎么办?
  16. 大数据分析与应用技术创新平台
  17. 征信报告 加密文档_如何给PDF文档加密?PDF文档加密的方法
  18. vivo X70系列搭载自研V1芯片9月9日发布
  19. 百度飞桨ai达人创造营01-创意的诞生
  20. 树莓派4B通过16路PWM输出的PCA9685模块控制舵机(机械臂)附完整代码

热门文章

  1. NO1:在Windows端安装SecureCRT来连接Linux
  2. Sky Line 与 ArcEngine的粘合剂 Composite UI AB?
  3. 这个夏天,感动我的歌,感动我的你
  4. postgresql 比较两个时间差大于 N个小时
  5. 状态栏编程(显示系统时间和进度条)
  6. MATLAB里面的filter和filtfilt的C语言源代码
  7. 这款电脑升降桌美到我了
  8. mysql 触发器 本表_MySQL触发器处理本表数据
  9. 2016美国计算机研究生,2016美国留学:美国大学研究生计算机工程专业排名
  10. java泛型方法无参_从头再来:Java泛型(开发必须知道的)