本文利用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编码方式转存的更多相关文章

  1. java指定编码的按行读写txt文件(几种读写方式的比较)

    转: java指定编码的按行读写txt文件(几种读写方式的比较) 2018年10月16日 20:40:02 Handoking 阅读数:976  版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  2. Java读写txt文件

    1.Java读取txt文件 1.1.使用FileInputStream: public static String readFile(File file, String charset){ //设置默 ...

  3. Java实现文件复制的四种方式

    背景:有很多的Java初学者对于文件复制的操作总是搞不懂,下面我将用4中方式实现指定文件的复制. 实现方式一:使用FileInputStream/FileOutputStream字节流进行文件的复制操 ...

  4. java读取txt文件内容

    package read; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public ...

  5. Python读取txt文件

    Python读取txt文件,有两种方式: (1)逐行读取 data=open("data.txt") line=data.readline() while line: print ...

  6. 读txt文件乱码

    /** * 读入TXT文件 */public static List<String> readFile(String pathName) {// 绝对路径或相对路径都可以,写入文件时演示相 ...

  7. 【批处理】TXT文件批量转HTML文件工具

    说到批量转html文件,相信喜欢看小说或经常制作电子书和教程的朋友应该很熟悉.因为,我们每次都会面临成千上万的txt文件,要将其转换为能正确显示的html文件是很麻烦的.当然,现在有很多的软件也可以实 ...

  8. Java以流的方式将指定文件夹里的.txt文件全部复制到另一文件夹,并删除原文件夹中所有.txt文件

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  9. Java 读取TXT文件的多种方式

    1).按行读取TXT文件package zc;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFound ...

随机推荐

  1. Eclipse自动补全调教

    方法来自http://www.cnblogs.com/sunjie21/archive/2012/06/28/2567463.html 调教后可以做到: 1. sout + Tab 输出System. ...

  2. 远程dump导出svn项目

    使用TortoiseSVN 安装目录下的svnrdump.exe 工具进行导出 1.cmd 到工具路径下 C:\Program Files\TortoiseSVN\bin svnrdump.exe d ...

  3. Android Studio 设置不同分辨率的图标Icon

    右键你的项目 -->"NEW"-->"Image Asset" 'Asset Type' 勾选”Image“才可以选择”Path“,其他选项可以自己 ...

  4. Java作业十三(2017-11-20)

    /*使用一位数组解决 1 1 2 3 5 8 13 数列问题 斐波纳契数列 Fibonacci*/ package cn.GM; public class array { public static ...

  5. [python] 溜了,溜了,七牛云图片资源批量下载 && 自建图床服务器

    故事背景: 七牛云最近一波测试域名操作真是把我坑死了!这简直和百度赠送你2T网盘,之后再限速一样骚操作.于是,痛定思痛自己买个云主机.自己搭图床应用! 1.七牛图片批量下载到本地 1.1 曲折尝试 当 ...

  6. 记录k8s:k8s1.8.4无坑离线安装

    安装部署: 1. 使用vagrant 准备3太虚拟机,自己使用Vbox 准备3太也可以. 2. 按照 https://github.com/gjmzj/kubeasz 安装. 3. 使用letsenc ...

  7. Java ActiveMQ 讲解(二)Spring ActiveMQ整合+注解消息监听

    对于ActiveMQ消息的发送,原声的api操作繁琐,而且如果不进行二次封装,打开关闭会话以及各种创建操作也是够够的了.那么,Spring提供了一个很方便的去收发消息的框架,spring jms.整合 ...

  8. http请求抓包神器-Fiddler(记录和检查你电脑的所有http通讯)

    Fiddler是做什么的,能帮助我们做什么? 1.能够监听http/httpS的流量,可以截获从浏览器或者客户端软件向服务器发送的http/https请求: 2.对截获之后的请求,我们还能够查看请求中 ...

  9. Linux中搭建Maven私服

    linux安装maven 先解压maven的压缩包apache-maven-3.5.4-bin.tar.gz   命令: tar -zavf pache-maven-3.5.4-bin.tar.gz ...

  10. [Swift]LeetCode216. 组合总和 III | Combination Sum III

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...