资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Java读取文件中含有中文怎么办-创新互联

小编给大家分享一下Java读取文件中含有中文怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联服务项目包括延长网站建设、延长网站制作、延长网页制作以及延长网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,延长网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到延长省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

  Java读取文件中含有中文的解决办法

  折磨了一天的问题,终于在黄昏的时候解决了,现在一吐为快。

  众所周知,java的中文问题一直是一个老大难的问题,这个现象可以在csdn中java论坛里关于中文乱码的提问率就可以了解到,甚至软件巨人IBM专门开辟了一个解决中文问题的专区,作为一个俗人(一直梦想希望想金凯利那样成为一个“冒牌天神”,只是一直没有成功,也许是因为上帝不照顾中国吧),我也为同意的问题困扰,好在今天解决了。

  随着我对.NET平台的彻底放弃(只是生活所迫,毕竟我还要生活),将原有的资源转到Java平台上来是我当前的一个重要任务之一,说到这里,不得不承认.net对中文问题解决的很好,虽然偶尔也会出现乱码。

  问题是这样的,我的box(http://www.ibeyond.org/box/)原来是使用ASP.net写的(当时只是为了尝试新的技术),当时为了数据的可移植性我放弃了使用数据库,将全部数据保存为UTF-8编码的文本文件,在.net中读取这种文件秩序只要指定打开文件的编码方式,中文问题就可以避免。但是按照我以前的思维,java中不是这么作的,java中都是先读取后转换的,最后的结果证明我错了,看来经验主意害死人呀。

File f=new File((new BoxConfig()).getBaseDir()+"Data"+request.getParameter("ID")+".inc");XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

BufferedReader reader = new BufferedReader(new FileReader(f));

String line;

while((line=reader.readLine())!=null){

  strContent+=line;

}

这是我最初的代码f就是我要读取的UTF-8格式的文本文件,这一天中经过了无数次的尝试,包括new String(strContent.getBytes("UTF-8"))(其中尝试了N种编码转换),System.setProperty("file.encoding","UTF-8")(其中指定了N种编码转换),都失败了,其中甘苦相信各位经历过被程序折磨的各位看官都有所了解,在此略过。终于在google中无数次查询中得到了一个后来被证明很重要的一条信息“读取文件时指定字符编码”,一语点醒梦中人,.net中不就是这么实现的吗?走了一圈弯路终于解决了这个问题。

File f = new File("E:EclipseworkspaceboxData2003">2003-3-7-100.inc");

InputStreamReader  read = new InputStreamReader (new FileInputStream(f),"UTF-8");

BufferedReader reader=new BufferedReader(read);

String line;

while ((line = reader.readLine()) != null) {

System.out.println(line);

}

通过打开文件是指定文件编码的方法把这个问题轻松的解决了。

看完了这篇文章,相信你对“Java读取文件中含有中文怎么办”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!


当前文章:Java读取文件中含有中文怎么办-创新互联
链接URL:http://cdkjz.cn/article/cesshd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220