Java读写CSV文件的方法


最近在做嵌入式Linux平台上的服务器,使用的工具是Java。在项目中一方面要将所有数据记录在日志文件中,存储于嵌入式Linux平台上;另一方面要将实时数据存放在一个表格里,随时供网络查询。

日志文件我们曾经选用过txt文件,这个最简单;excel文件,使用jxl;使用过sqlLite嵌入式数据库,使用第三方的java库。调试通过,运行的还算不错。不过遇到了一个java虚拟机内存不足的问题,我们将虚拟机分配的内存设置为32M,解决了那个问题。

可是老板认为以上方法太繁琐,兼顾美观性和实用性,选用了CSV文件作为日志文件。
查来查去,总结了一下网络上大家的方法。读写CVS文件主要有两大类方法:借用第三方库和使用FileWriter类。

一、使用第三方库的方法。
目前的第三方库主要有opencsv、javacsv,貌似还有个叫supercsv,不过都大同小异。

二、使用FileWriter的方法。
这是我最终使用的方法,很好用,也不用添加库,加一个示例代码,与大家分享。

import java.io.FileWriter; 
import java.io.IOException;
public class javacsv {
/** 
 * 写csv文件 
 */   
 public static void main(String[] args) { 
  try {
                  //如果没有这个文件会自动创建
                  //如果有了这个文件,会在该文件的尾部续写
  FileWriter fw = new FileWriter("E:\\youyouTest.csv",true);
  fw.write("aaa,bbb,ccc,ddd,eee,fff,ggg,hhh\n");
  fw.write("aaa,bbb,ccc,ddd,eee,fff,ggg,hhh\n"); 
  fw.write("aa1,bb1,cc1,dd1,ee1,ff1,gg1,hh1\n"); 
  fw.write("aaa\n"); 
  fw.write("aa2,bb2,cc2,dd2,ee2,ff2,gg2,hh2\n"); 
  fw.close(); 
  } catch (IOException e) { 
          e.printStackTrace(); 
  } 
 } 
}

以上方法是实际项目中用到的,记录下来,供自己查阅。

相关内容