Java实现CSV读写操作源代码

来源:互联网 发布:淘宝老店新开没流量 编辑:程序博客网 时间:2024/03/28 19:22

CSV 文件是指Excel可以识别的后缀名为CSV的文件,网站系统后台用来存储分析数据的时候有可能会用到它。其实CSV文件的读取和做成比较简单,主要的技 术点是文件的读写。不过CSV文件的分析和生成有一定的代表性,可以通过对CSV文件的生成和分析的实现,来了解后台处理批量数据的简单思路。

打开Excel,新建一个文件,在里面随便输入一些数据,然后另存为一个CSV文件,再次用Excel打开的时候,发现只有一个sheet。用一个记事本打开这个文件,可以看到类似如下的数据。
aaa,bbb,ccc,ddd
aaa2,bbb2,,ddd2
aaa3,bbb3,ccc3,
aaa4,bbb4,ccc4,ddd4

仔细观察数据,可以确定以下几点:

  1. CSV文件是文本型文件(非二进制)
  2. 文件中的一行在Excel中显示的一行
  3. 同一行中的数据用半角逗号分隔

发现以上的规律,我们可以自己也生成一个CSV文件。也可以简单的分析CSV文件。

<STRONG>写csv代码如下:</STRONG>import java.io.FileWriter;import java.io.IOException;/** * 写csv文件 * @title: CsvCreater   * @description:    * @version 1.0 */public class CsvCreater { public static void main(String[] args) {  try {   FileWriter fw = new FileWriter("C:\\CsvCreater.csv");   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();  } }}


 

<STRONG>读csv文件代码如下:</STRONG>import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;/** * csv文件解析 * @title: CSVAnalysis   * @description:    * @version 1.0 */public class CSVAnalysis {public static void main(String[] args) {InputStreamReader fr = null;BufferedReader br = null;try {fr = new InputStreamReader(new FileInputStream("C:\\CsvCreater.csv"));br = new BufferedReader(fr);String rec = null;String[] argsArr = null;while ((rec = br.readLine()) != null) {argsArr = rec.split(",");for (int i = 0; i < argsArr.length; i++) {System.out.print("num " + (i + 1) + ":" + argsArr[i] +"\t");}System.out.println();}} catch (IOException e) {e.printStackTrace();} finally {try {if (fr != null)fr.close();if (br != null)br.close();} catch (IOException ex) {ex.printStackTrace();}}}}