Java实现将任何编码方式的txt文件以UTF-8编码方式转存
本文利用JDK中的BufferedReader和BufferedWriter实现将任何编码方式的txt文件以UTF-8编码方式转存。
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。UTF-8最大的优势是可以避免乱码问题。
本方法首先判断txt文件的编码方式,然后按照其编码方式按行读取,再按行以UTF-8的编码写入。其中借助EncodingDetect类检测txt文件的编码方式。EncodingDetect类可以点击 下载 到CSDN下载。本来想免费下载的,可是没有这个选项,那就设置的1个积分,今天一看不知道怎么变成了5个积分,想改回去却不知道怎么改回。因为我之前也遇到过下载资料没有积分的情况,这种苦我懂得,所以大家如有需要但是没有积分文末留下邮箱即可,我看到会尽快回复。
/**
*
* @param inputFileUrl
* @param outputFileUrl
* @throws IOException
*/
public static void saveAsUTF8(String inputFileUrl, String outputFileUrl) throws IOException {
String inputFileEncode = EncodingDetect.getJavaEncode(inputFileUrl);
System.out.println("inputFileEncode===" + inputFileEncode);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(new FileInputStream(inputFileUrl), inputFileEncode));
BufferedWriter bufferedWriter = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(outputFileUrl), "UTF-8"));
String line;
while ((line = bufferedReader.readLine()) != null) {
bufferedWriter.write(line + "\r\n");
}
bufferedWriter.close();
bufferedReader.close();
String outputFileEncode = EncodingDetect.getJavaEncode(outputFileUrl);
System.out.println("outputFileEncode===" + outputFileEncode);
System.out.println("txt文件格式转换完成");
}
测试代码:
String inputFileUrl = "C:\\Users\\Administrator\\Desktop\\傲慢与偏见.txt";
String outputFileUrl = "C:\\Users\\Administrator\\Desktop\\utf8\\傲慢与偏见.txt";
saveAsUTF8(inputFileUrl, outputFileUrl);
测试结果:


Java实现将任何编码方式的txt文件以UTF-8编码方式转存的更多相关文章
- java指定编码的按行读写txt文件(几种读写方式的比较)
转: java指定编码的按行读写txt文件(几种读写方式的比较) 2018年10月16日 20:40:02 Handoking 阅读数:976 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- Java读写txt文件
1.Java读取txt文件 1.1.使用FileInputStream: public static String readFile(File file, String charset){ //设置默 ...
- Java实现文件复制的四种方式
背景:有很多的Java初学者对于文件复制的操作总是搞不懂,下面我将用4中方式实现指定文件的复制. 实现方式一:使用FileInputStream/FileOutputStream字节流进行文件的复制操 ...
- java读取txt文件内容
package read; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public ...
- Python读取txt文件
Python读取txt文件,有两种方式: (1)逐行读取 data=open("data.txt") line=data.readline() while line: print ...
- 读txt文件乱码
/** * 读入TXT文件 */public static List<String> readFile(String pathName) {// 绝对路径或相对路径都可以,写入文件时演示相 ...
- 【批处理】TXT文件批量转HTML文件工具
说到批量转html文件,相信喜欢看小说或经常制作电子书和教程的朋友应该很熟悉.因为,我们每次都会面临成千上万的txt文件,要将其转换为能正确显示的html文件是很麻烦的.当然,现在有很多的软件也可以实 ...
- Java以流的方式将指定文件夹里的.txt文件全部复制到另一文件夹,并删除原文件夹中所有.txt文件
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- Java 读取TXT文件的多种方式
1).按行读取TXT文件package zc;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFound ...
随机推荐
- vue将指定区域的表格数据或element-ui中el-table的数据单笔或多笔批量导出excel
公司在后台管理系统开发中用到了 vue+element-ui 组合的框架,但随着需求的越来越复杂,前端的工作难度也呈几何倍数递增,工作量随之增大.这不,在项目中增加一个将列表数据导出为excel的需求 ...
- Go语言基础之反射
Go语言基础之反射 本文介绍了Go语言反射的意义和基本使用. 变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息. 值信息:程序运行过程中可动态变化的. 反射介绍 反射是指 ...
- JS跨域两三事
今日,前端开发要求新的Web服务需要支持跨域,因为要发起 Ajax 到后端web 服务域名请求数据: 前端application域名是 other.abc.com (举个栗子) api接口域名是 a ...
- Lua学习链接
Lua捕获 Lua中_G 是个什么鬼 Lua与ObjC的交互
- 四种常用的access连接方式
整理出四种常用的access连接方式,当然,第1种这是最常用的(推荐使用).1. set dbconnection=Server.CreateOBJECT("ADODB.CONNECTION ...
- easyui自定义皮肤及缺陷修改
引言: 一个商业项目的需要,又因为时间紧迫的关系,准备购买一套简洁,易用,可定制化强的UI,经过对国内外多家UI产品进行了对比, 包括:FineUI, EasyUI, EXT.NET, EXTJS, ...
- 《Android插件化开发指南》面世
本书在京东购买地址:https://item.jd.com/31178047689.html 本书Q群:389329264 (一)这是一本什么书 如果只把本书当作纯粹介绍Android插件化技术的书籍 ...
- [Swift]LeetCode486. 预测赢家 | Predict the Winner
Given an array of scores that are non-negative integers. Player 1 picks one of the numbers from eith ...
- [Swift]LeetCode593. 有效的正方形 | Valid Square
Given the coordinates of four points in 2D space, return whether the four points could construct a s ...
- EPPlusHelper
public class EPPlusExcelHelper : IDisposable { public ExcelPackage ExcelPackage { get; private set; ...