转载 http://blog.csdn.net/dengta_snowwhite/article/details/6418384
从SDCard保存的txt文件读取中文到android系统中会出现乱码问题,如何解决这个乱码问题,网上有不少解答方法,譬如说利用String temp1 =EncodingUtils.getString(strLine.getBytes(),"GB2312"); 但并非对所有的情况都适用,解决乱码问题首先要明白为什么会乱码。究其原因,是因为txt文件在win系统上保存时默认为ANSI格式,而android目前只支持UTF-8编码,因此将txt文件的中文读入android系统中会产生乱码。也有人说直接将txt另存为UTF-8编码格式来解决乱码问题,但这种方法指标不治本,不能要求用户手动去更改格式,客户第一嘛。因此还是需要想办法在程序中进行处理。
以下做了一些编码格式的测试:
测试文本: 122.11196,29.90573,北仑固废厂 测试代码段:
reader=new BufferedReader(new FileReader(filename));
strLine=reader.readLine() ;
String temp1 = EncodingUtils.getString(strLine.getBytes(),"GB2312");
String temp2 = EncodingUtils.getString(strLine.getBytes("utf-8"),"utf-8");
String temp3 = EncodingUtils.getString(strLine.getBytes(),"utf-8");
将文件存成 Unicode 格式
将文件存成utf-8 格式
这种方式能得到非乱码的中文显示,但对于 utf-8 格式下取得的经纬度数字利用double lon = Double.parseDouble(lat); 报错 NumberFormatException,原因可能是
parseDouble(lat)方法不能处理存成utf-8格式的带标点小数。 将文件 存成 ANSI 格式
将代码改为:
reader = new BufferedReader(new InputStreamReader(new FileInputStream(filename),"GB2312"));
strLine=reader.readLine() ;
String temp1 = EncodingUtils.getString(strLine.getBytes(),"GB2312");
String temp2 = EncodingUtils.getString(strLine.getBytes("utf-8"),"utf-8");
String temp3 = EncodingUtils.getString(strLine.getBytes(),"utf-8");
即解决了中文乱码问题,又解决了Double.parseDouble(lat)报错问题。
转载于:https://www.cnblogs.com/umlzhang/p/3977858.html
转载 http://blog.csdn.net/dengta_snowwhite/article/details/6418384相关推荐
- Win10双击调试 转载 http://blog.csdn.net/sagittarius_warrior/article/details/51305046
转:注1:本文非本人所写,尊重原作者劳动成果.仅是对原文备份. http://blog.csdn.net/sagittarius_warrior/article/details/51305046(原来 ...
- 转载(https://blog.csdn.net/qq_36738482/article/details/72823509)大数据的概念
1.大数据定义 对于"大数据"(Big data)研究机构Gartner给出了定义,"大数据"是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力 的 ...
- 从request获取各种路径总结 转载:http://blog.csdn.net/piaoxuan1987/article/details/8541839 equest.getRealPath()
https://www.cnblogs.com/hello-yao-ge/p/6606564.html 转载:http://blog.csdn.net/piaoxuan1987/article/det ...
- WordPress数据库的基本构造(转载自http://blog.csdn.net/ppiao1970hank/article/details/6301812)...
转载自http://blog.csdn.net/ppiao1970hank/article/details/6301812 WordPress使用MySQL数据库.作为一个开发者,我们有必要掌握Wor ...
- 手机网络抓包 转载记录http://blog.csdn.net/skylin19840101/article/details/43485911
Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求.Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. ...
- Ubuntu安装软件是始终出现dpkg错误(转载,原文链接:https://blog.csdn.net/cyf15238622067/article/details/53534629)
Ubuntu安装软件是始终出现dpkg错误 一.设置镜像 二. 出现错误死循环时,使用下述命令 sudo dpkg -i --force-overwrite sudo dpkg -i --force- ...
- Android Volley完全解析(二),使用Volley加载网络图片 转载:http://blog.csdn.net/guolin_blog/article/details/174
转载:http://blog.csdn.net/guolin_blog/article/details/17482165 在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法.本篇文章中 ...
- Android Volley完全解析(一),初识Volley的基本用法 转载地址:http://blog.csdn.net/guolin_blog/article/details/17482095
转载地址:http://blog.csdn.net/guolin_blog/article/details/17482095 1. Volley简介 我们平时在开发Android应用的时候不可避免地都 ...
- vue 的 带着参数跳转 转载(http://blog.csdn.net/wy01272454/article/details/77869442?locationNum=7fps=1)
http://blog.csdn.net/wy01272454/article/details/77869442?locationNum=7&fps=1
最新文章
- 阿里巴巴成立云原生技术委员会,云原生升级为阿里技术新战略
- redis 怎么关闭写盘_Redis持久化策略
- gRPC in ASP.NET Core 3.0 -- 前言
- UIBezierPath
- LeetCode 665. 非递减数列(双指针)
- java excel条件格式_Java 使用条件格式高亮Excel单元格
- html5实例-闪烁的星星
- 遗传算法详解及代码实现
- 解决python安装包无法正常安装问题
- 计算机中职基础试题及答案,中职类计算机应用基础试题「附答案」
- 业务系统监控解决方案
- 【2021版】想要专升本你不得不看的全干货_吐血整理_专升本_计算机文化基础(四)
- windows 环境下 0x色彩对应表
- 计算机常年开机,电脑长时间开机的危害
- vue返回上一页(后退)的几种方法与区别
- C语言实验——拍皮球 1184
- Mysql将txt文件导入数据库采坑 load data local infile
- Nginx 实现 https
- 手机浏览器devtools_浏览器DevTools的秘诀:启动,网络和性能
- 不动产登记+电子签章全程无纸化网上办,零跑腿!