博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用1.7 Files,实现编码探测
阅读量:5086 次
发布时间:2019-06-13

本文共 1199 字,大约阅读时间需要 3 分钟。

原理:Files.newBufferedReader(Path path, Charset charset)没有实现编码容错

遍历所有的字符集,读取文件,如果不报MalformedInputException,即可认为编码格式正确。

代码如下:

1 public class CharsetTest { 2     public static final Path path = Paths.get(""); 3  4     public static void main(String[] args) { 5         Map
map = Charset.availableCharsets(); 6 List
retval = map.values().stream().filter(CharsetTest::testCharset).collect(Collectors.toList()); 7 } 8 9 private static boolean testCharset(Charset charset) {10 BufferedReader br;11 try {12 br = Files.newBufferedReader(path, charset);13 } catch (IOException e) {14 System.out.println("Read file error!");15 return false;16 }17 18 try {19 while (br.readLine() != null) {20 21 }22 } catch (MalformedInputException e) {23 System.out.println("MalformedInputException");24 return false;25 } catch (IOException e) {26 System.out.println("IOException happens!");27 return false;28 }29 30 return true;31 }32 }

 

转载于:https://www.cnblogs.com/blouson/p/11155213.html

你可能感兴趣的文章
读构建之法第四章第十七章有感
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
IOS-图片操作集合
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
测试计划
查看>>
Mysql与Oracle 的对比
查看>>
jquery实现限制textarea输入字数
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
jenkins常用插件汇总
查看>>
c# 泛型+反射
查看>>
第九章 前后查找
查看>>
Python学习资料
查看>>
jQuery 自定义函数
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>
ActiveMQ与spring整合
查看>>
web服务器
查看>>