完美解决Java IO流读取中文文本文件乱码问题

package chenlei.test;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;/**
* 字符流读取中文乱码问题
* @author chenleiz
* @email andy_zhou.china@outlook.com
*/
public class IODemo02 {public static void main(String[] args) throws Exception {String filePath = "f:\\iodemo\\test.txt";System.out.println(readTxt(filePath));
}// 读取文件
public static String readTxt(String path) throws Exception {StringBuilder strb = new StringBuilder("");InputStream is = new FileInputStream(new File(path));
InputStreamReader isr = new InputStreamReader(is, getCode(path));
BufferedReader br = new BufferedReader(isr);String str = "";
while (null != (str = br.readLine())) {strb.append(str);
strb.append("\r\n");
}
br.close();
return strb.toString();
}// 获取编码格式 gb2312,UTF-16,UTF-8,Unicode,UTF-8
public static String getCode(String path) throws Exception {InputStream inputStream = new FileInputStream(path);
byte[] head = new byte[3];
inputStream.read(head);
String code = "gb2312"; // 或GBK
if (head[0] == -1 && head[1] == -2)
code = "UTF-16";
else if (head[0] == -2 && head[1] == -1)
code = "Unicode";
else if (head[0] == -17 && head[1] == -69 && head[2] == -65)
code = "UTF-8";
inputStream.close();
return code;
}
}

完美解决Java IO流读取中文文本文件乱码问题相关推荐

  1. Java IO流读取中文

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

  2. Java读取文件流用什么对象_使用Java IO流实现对文本文件的读写过程中,通常需要处理下列( )异常。_学小易找答案...

    [论述题]请根据第一次平时作业的选题,结合第二次课内容,自拟一个论文提纲. [单选题]在 switch ( expression )语句中, expression 的数据类型不能是 ( ) [单选题] ...

  3. java IO流读取保存图片文件

    java  IO流读取保存图片文件 package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStrea ...

  4. java—IO流——读取键盘输入的字母并转换成大写字母输出在控制台上

    读取键盘输入的字母,并转换成大写输出在控制台上 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; imp ...

  5. Java IO流读取/写入/修改某个字符串(通用)

    2019独角兽企业重金招聘Python工程师标准>>> package com.test;import java.io.BufferedReader; import java.io. ...

  6. Java IO流读取文件

    使用指定编码读取文件 public static String toString(File file, String charset){StringBuilder result = new Strin ...

  7. java io流读取txt文件_Java使用IO流读取TXT文件

    通过BufferedReader读取TXT文件 window系统默认的编码是GBK,而IDE的编码多数为UTF-8,如果没有规定new InputStreamReader(new FileInputS ...

  8. java字节流读取文件_字节流读取文件 java的几种IO流读取文件方式

    java字节流怎么读取数据 字节流读取数据例子如下: import java.io.File;import java.io.FileInputStream;import java.io.FileNot ...

  9. java io流(字符流) 文件打开、读取文件、关闭文件

    java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*;public class Index{public stati ...

  10. java 文件流读取文本_如何在Java 8中处理流和读取文本文件

    java 文件流读取文本 我已经使用最新的Java8转换了一个旧的实用程序类. 我经常使用它来打印清单文件的内容,以检查任何神秘的jar文件的版本等.只需运行" java ztools.Pr ...

最新文章

  1. activemq 连接mysql_ActiveMQ 内存配置,ActiveMQ 和mysql
  2. Intellij IDEA打开就闪退或关闭
  3. c#图片上绘制半透明矩形
  4. Java Web学习(一)Web基础
  5. 王道操作系统考研笔记——2.3.2 进程互斥的软件实现方法
  6. skywalking(4)
  7. .NET Core WebAPI Swagger使用
  8. 每天一个小异常——Excel的导出报类型转换异常
  9. 【Docker】Docker 一个偶现的错误 bash命令突然找不到
  10. Python稀疏矩阵运算库scipy.sparse用法精要
  11. ssms排序代码_SSMS中的代码片段概述
  12. STP生成树——安全特性——单向环路故障——loopguard技术详细讲解、网线分类(附图,建议PC观看)
  13. Google搜索网址
  14. 分享:Android清除本地数据缓存代码
  15. 谈谈管理者绩效管理要点
  16. 09 Anykey右分页重新设计
  17. QT创建文件夹并在文件夹下创建文件
  18. HTML中利用JS调用PHP (以登录为例)
  19. 叮咚买菜2021第四季度财报数据公布:上海地区实现盈利
  20. 关于php内部编码与mysql字符差异问题的研究

热门文章

  1. Linux系统命令行常识问答2
  2. 【微信小程序】微信支付
  3. [杀形态验证]3D准确率达98
  4. Win7不支持此接口的修复方法
  5. 如何用Python写一个小游戏(2)
  6. 若依集成minio实现分布式文件存储
  7. 金融431可以带计算机,南京大学金融431可以带计算器吗?
  8. 个人web前段学习心得
  9. golang操作chromedp模拟浏览器基础入门
  10. golang使用selenium自动化操作谷歌浏览器