温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-09 14:57:24 来源:亿速云 阅读:1910 作者:元一 栏目:编程语言

首先我们要知道怎么读取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文件乱码怎么解决的详细内容,更多请关注亿速云其它相关文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI