本文利用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. 前端判断TXT文件是否为UTF-8编码

    前端判断TXT文件是否为UTF-8编码 前端判断txt文件是否为utf-8编码

  2. Mac打不开后缀名为txt文件,显示文本编码中文不适用的解决措施

    Mac打不开后缀名为txt文件,显示文本编码中文不适用的解决措施 问题: 未能打开文稿".txt".文本编码中文(GB 18030)不适用 解决措施: 1.打开文本编辑器的偏好设置 ...

  3. Java对象与XML、Excel、TXT文件相互转换

    一.目的 文件的存储与导出java对象,文件格式包括xml.txt.xlxs三种文件格式 二.准备 Student 类 /*** 学生的信息(学号.姓名.电话.邮箱信息)** @ClassName S ...

  4. mac打不开txt文件,出现“文本编码“中文 (GB 18030)”不适用。”的解决办法

    解决方法: 1.打开文本编辑器,出现打不开txt文件的时候,点击"好",找到电脑右上角菜单栏里面的"文本编辑"选项,然后点击打开下拉菜单栏,找到"偏好 ...

  5. python能打开的txt文件编码_Python读写txt文件时的编码问题

    这个问题来自于一个小伙伴,他在处理中文数据时需要先把里面的文本过滤然后分词,因为里面有许多符号,不仅是中文标点符号,还有✳,emoji等奇怪的符号. 正常情况下,中文的str经过encode('utf ...

  6. HTML 读写txt文件与转换base64编码

    最近用到html有关的一些内容,作一个笔记,也方便以后查找. 一.html写如入txt文件当中 var fso = new ActiveXObject("Scripting.FileSyst ...

  7. java 将整型数组内容写入txt文件_Java自学-I/O 字节流

    Java 字节流 InputStream OutputStream InputStream字节输入流 OutputStream字节输出流 用于以字节的形式读取和写入数据 步骤 1 : ASCII码 所 ...

  8. java定向输出程序日志(输出到txt文件中)

    public class RedirectOutputStream { public static void main(String[] args) { try { PrintStream out = ...

  9. java 生成txt日志方法,java定向输出程序日志(输出到txt文件中)

    public class RedirectOutputStream { public static void main(String[] args) { try { PrintStream out = ...

  10. java获取数据库数据保存到本地txt文件中

    首先是Services @Service public class logServiceimpl implements logService {@Autowired@Qualifier("p ...

最新文章

  1. Win8开发中如何加载字符串资源(C#)
  2. 自学python方法-你是如何自学 Python 的?
  3. 四大价值观和12准则
  4. 用workbench给表重命名_MySQL Workbench的使用方法(图文)
  5. 速读训练软件_记忆宫殿记忆力训练教程-第八天
  6. 粒子群算法组卷_粒子群(PSO)算法概念及代码实现
  7. Linux下好用的日志库,我使用過的Linux命令之tailf - 跟蹤日志文件/更好的tail -f版本...
  8. windows使用WSL安装linux子系统
  9. 使用CBrother爬取LOL服务器状态
  10. STC51单片机中断介绍
  11. KEIL编译时Warning: C3008W: splitting LDM/STM has no benefit的消除
  12. HTML5后台管理模板
  13. 林锐-《我的大学十年》
  14. [面试经验]一汽大众旗下车联网公司摩斯智联面试记
  15. 我他妈的是什么!!!!
  16. 超过70%的5G应用将发生于室内!共建共享室分助力5G高质量加速发展
  17. 如何实现 一个系统去调用另一个系统的接口
  18. 战舰少女服务器不显示,老玩家告诉你游戏战舰少女连不上网的解决方法
  19. ubuntu安装sougoupinyin[sogoupinyin_2.2.0.0108_amd64.deb]出坑(内附各种失败解决办法)
  20. Android 自定义DatePick 只显示年月,日期选择年月

热门文章

  1. Solidworks常用插件介绍
  2. LeetCode笔记
  3. [干货]手把手教你写一个安卓app
  4. makefile 编写
  5. ul阻燃标准有几个等级_UL阻燃标准
  6. 云数据中心解决方案架构图
  7. CentOS 7镜像下载
  8. 什么是web前端开发和后端开发?
  9. 英语口译笔记法实战指导 吴钟明 pdf_三口过关,名师指导备考干货帖(内附口译笔记讲解)...
  10. IPTV系统视频直播点播软硬件一体化方案OEM盒子