如何解决java读取csv文件时出现乱码

首先我们要知道怎么读取csv文件:

创新互联专注于网站建设,为客户提供成都网站制作、网站设计、外贸网站建设、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,品牌网站制作,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。

第一步首先我们要找到要读取的csv文件,csv文件是一种普通的文本文件,可以用excel表格方式打开
第二步我们打开eclipse软件创建一个java项目,并新建一个读取和写出csv文件的类
第三步在类的主方法中,我们首先确定读取的csv文件路径,和写出的csv文件路径,这里操作的是,将读取的csv文件里面含有省和市的字符串按空格分开写入到新的csv文件
第四步我们使用 BufferedReader reader = new BufferedReader()方法来读取和写入csv文件,循环进行遍历,其中 inString.replace(str[i], "," + str[i] + ",");来替换字符串,
第五步我们运行项目指挥,打开写入csv文件的路径,可以看到已经生成了一个新的csv文件,
第六步我们双击打开生成的csv文件,可以看到含有省,市字的字符串都被空格分开,这样就成功了进行了读取和写入csv文件

csv文件默认编码为ANSI,java读取CSV出现乱码主要是编码不一致问题。

DataInputStream in = new DataInputStream(new FileInputStream(new File("d:\\*.csv")));
BufferedReader br= new BufferedReader(new InputStreamReader(in,"GBK"));//这里如果csv文件编码格式是utf-8,改成utf-8即可

InputStreamReader类是从字节流到字符流的桥接器:它使用指定的字符集读取字节并将它们解码为字符。 它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。

BufferedReader类从字符输入流中读取文本并缓冲字符,以便有效地读取字符,数组和行。Reader构成的对象是字符对象,每次的读取请求都会涉及到字节读取解码字符的过程,而BufferedReader类中有设计减少这样的解码次数的方法,进而提高转换效率。

以上就是java读取csv文件乱码怎么解决的详细内容,更多请关注创新互联其它相关文章!


网站栏目:如何解决java读取csv文件时出现乱码
URL分享:http://scyanting.com/article/pdodhg.html