Java_读写CSV文件

 

转自http://blog.csdn.net/zyuc_wangxw/article/details/7410586

Java_读写CSV文件

 

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

打开Excel,新建一个文件,在里面随便输入一些数据,然后另存为一个CSV文件,再次用Excel打开的时候,发现只有一个sheet。用一个记事本打开这个文件,可以看到类似如下的数据。

aaa,bbb,ccc,ddd

aaa2,bbb2,,ddd2

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

1.CSV文件是文本型文件(非二进制)

2.文件中的一行在Excel中显示的一行

3.同一行中的数据用半角逗号分隔

 

/**  

 * 写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");  

   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();  

  }  

 }  

}

 

/**

 * 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();  

            }  

        }  

    }  

}

 

但是生成的csv文件的列宽无法调整,希望大侠们能解决的不吝赐教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值