最近需要导csv的数据到mysql数据库里,于是就写了个程序导进去。
其实csv文件就是每一行的每一格之间都用逗号隔开的,例如:一,二,三,四这样,所以程序很简单,思路就是获取文件流,然后每行用逗号分割即可
Integer positionid = null;
Integer type = null;
Integer categoryid = null;
String wordname = null;
DataInputStream in = new DataInputStream(new FileInputStream("E:\\lvyou.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(in, "GBK"));
String line = null;
while ((line = br.readLine()) != null)
{
String[] item = line.split(",");
System.out.println("地区id:" + item[0]);
positionid = Integer.parseInt(item[0]);
wordname = item[4];//热词
System.out.println("hotword:" + wordname);
type = Integer.parseInt(item[2]);
categoryid = Integer.parseInt(item[3]);
途中也遇到一些比较奇怪的事,
(1)CSV不能更改,另存为,否则会读取出问题
(2)中文乱码问题,编码格式,读取csv文件时我用的UTF-8,转为txt格式时,用的是GBK格式
(3)读取csv文件不成功时,其实可以使用记事本打开csv文件,然后复制其内容到另一个新建的txt文本里,去读取txt文本文件(最开始我用另存为的txt文件居然也读取有问题,具体也不清楚什么原因)
看到网上还有用javacsv.jar来读写csv文件的,大家也可以试试