完美解决Java IO流读取中文文本文件乱码问题
完美解决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流读取中文文本文件乱码问题相关推荐
- Java IO流读取中文
一.使用FileInputStream 字节流正确读取中文 1. 必须了解文本是以哪种编码方式保存字符的 2. 使用字节流读取了文本后,再使用对应的编码方式去识别这些数字,得到正确的字符 privat ...
- Java读取文件流用什么对象_使用Java IO流实现对文本文件的读写过程中,通常需要处理下列( )异常。_学小易找答案...
[论述题]请根据第一次平时作业的选题,结合第二次课内容,自拟一个论文提纲. [单选题]在 switch ( expression )语句中, expression 的数据类型不能是 ( ) [单选题] ...
- java IO流读取保存图片文件
java IO流读取保存图片文件 package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStrea ...
- java—IO流——读取键盘输入的字母并转换成大写字母输出在控制台上
读取键盘输入的字母,并转换成大写输出在控制台上 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; imp ...
- Java IO流读取/写入/修改某个字符串(通用)
2019独角兽企业重金招聘Python工程师标准>>> package com.test;import java.io.BufferedReader; import java.io. ...
- Java IO流读取文件
使用指定编码读取文件 public static String toString(File file, String charset){StringBuilder result = new Strin ...
- java io流读取txt文件_Java使用IO流读取TXT文件
通过BufferedReader读取TXT文件 window系统默认的编码是GBK,而IDE的编码多数为UTF-8,如果没有规定new InputStreamReader(new FileInputS ...
- java字节流读取文件_字节流读取文件 java的几种IO流读取文件方式
java字节流怎么读取数据 字节流读取数据例子如下: import java.io.File;import java.io.FileInputStream;import java.io.FileNot ...
- java io流(字符流) 文件打开、读取文件、关闭文件
java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*;public class Index{public stati ...
- java 文件流读取文本_如何在Java 8中处理流和读取文本文件
java 文件流读取文本 我已经使用最新的Java8转换了一个旧的实用程序类. 我经常使用它来打印清单文件的内容,以检查任何神秘的jar文件的版本等.只需运行" java ztools.Pr ...
最新文章
- activemq 连接mysql_ActiveMQ 内存配置,ActiveMQ 和mysql
- Intellij IDEA打开就闪退或关闭
- c#图片上绘制半透明矩形
- Java Web学习(一)Web基础
- 王道操作系统考研笔记——2.3.2 进程互斥的软件实现方法
- skywalking(4)
- .NET Core WebAPI Swagger使用
- 每天一个小异常——Excel的导出报类型转换异常
- 【Docker】Docker 一个偶现的错误 bash命令突然找不到
- Python稀疏矩阵运算库scipy.sparse用法精要
- ssms排序代码_SSMS中的代码片段概述
- STP生成树——安全特性——单向环路故障——loopguard技术详细讲解、网线分类(附图,建议PC观看)
- Google搜索网址
- 分享:Android清除本地数据缓存代码
- 谈谈管理者绩效管理要点
- 09 Anykey右分页重新设计
- QT创建文件夹并在文件夹下创建文件
- HTML中利用JS调用PHP (以登录为例)
- 叮咚买菜2021第四季度财报数据公布:上海地区实现盈利
- 关于php内部编码与mysql字符差异问题的研究