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编码方式转存相关推荐
- 前端判断TXT文件是否为UTF-8编码
前端判断TXT文件是否为UTF-8编码 前端判断txt文件是否为utf-8编码
- Mac打不开后缀名为txt文件,显示文本编码中文不适用的解决措施
Mac打不开后缀名为txt文件,显示文本编码中文不适用的解决措施 问题: 未能打开文稿".txt".文本编码中文(GB 18030)不适用 解决措施: 1.打开文本编辑器的偏好设置 ...
- Java对象与XML、Excel、TXT文件相互转换
一.目的 文件的存储与导出java对象,文件格式包括xml.txt.xlxs三种文件格式 二.准备 Student 类 /*** 学生的信息(学号.姓名.电话.邮箱信息)** @ClassName S ...
- mac打不开txt文件,出现“文本编码“中文 (GB 18030)”不适用。”的解决办法
解决方法: 1.打开文本编辑器,出现打不开txt文件的时候,点击"好",找到电脑右上角菜单栏里面的"文本编辑"选项,然后点击打开下拉菜单栏,找到"偏好 ...
- python能打开的txt文件编码_Python读写txt文件时的编码问题
这个问题来自于一个小伙伴,他在处理中文数据时需要先把里面的文本过滤然后分词,因为里面有许多符号,不仅是中文标点符号,还有✳,emoji等奇怪的符号. 正常情况下,中文的str经过encode('utf ...
- HTML 读写txt文件与转换base64编码
最近用到html有关的一些内容,作一个笔记,也方便以后查找. 一.html写如入txt文件当中 var fso = new ActiveXObject("Scripting.FileSyst ...
- java 将整型数组内容写入txt文件_Java自学-I/O 字节流
Java 字节流 InputStream OutputStream InputStream字节输入流 OutputStream字节输出流 用于以字节的形式读取和写入数据 步骤 1 : ASCII码 所 ...
- java定向输出程序日志(输出到txt文件中)
public class RedirectOutputStream { public static void main(String[] args) { try { PrintStream out = ...
- java 生成txt日志方法,java定向输出程序日志(输出到txt文件中)
public class RedirectOutputStream { public static void main(String[] args) { try { PrintStream out = ...
- java获取数据库数据保存到本地txt文件中
首先是Services @Service public class logServiceimpl implements logService {@Autowired@Qualifier("p ...
最新文章
- Win8开发中如何加载字符串资源(C#)
- 自学python方法-你是如何自学 Python 的?
- 四大价值观和12准则
- 用workbench给表重命名_MySQL Workbench的使用方法(图文)
- 速读训练软件_记忆宫殿记忆力训练教程-第八天
- 粒子群算法组卷_粒子群(PSO)算法概念及代码实现
- Linux下好用的日志库,我使用過的Linux命令之tailf - 跟蹤日志文件/更好的tail -f版本...
- windows使用WSL安装linux子系统
- 使用CBrother爬取LOL服务器状态
- STC51单片机中断介绍
- KEIL编译时Warning: C3008W: splitting LDM/STM has no benefit的消除
- HTML5后台管理模板
- 林锐-《我的大学十年》
- [面试经验]一汽大众旗下车联网公司摩斯智联面试记
- 我他妈的是什么!!!!
- 超过70%的5G应用将发生于室内!共建共享室分助力5G高质量加速发展
- 如何实现 一个系统去调用另一个系统的接口
- 战舰少女服务器不显示,老玩家告诉你游戏战舰少女连不上网的解决方法
- ubuntu安装sougoupinyin[sogoupinyin_2.2.0.0108_amd64.deb]出坑(内附各种失败解决办法)
- Android 自定义DatePick 只显示年月,日期选择年月