csv数据特点:
csv是文本格式,一行数据是一条记录,每个单元之间用“,”隔开。csv数据可以用Excel打开。
读写csv文件的主要程序如下所示:
1 import java.io.BufferedReader;
2 import java.io.BufferedWriter;
3 import java.io.File;
4 import java.io.FileNotFoundException;
5 import java.io.FileReader;
6 import java.io.FileWriter;
7 import java.io.IOException;
8 import java.util.ArrayList;
9 import java.util.List;
10
11 public class Add {
12
13 public static void main(String[] args) {
14 // TODO Auto-generated method stub
15 BufferedReader br=null;
16 BufferedWriter bw = null;
17 try {
18 bw=new BufferedWriter(new FileWriter("D:\\Documents\\adf_all.csv"));
19 } catch (IOException e) {
20 // TODO Auto-generated catch block
21 e.printStackTrace();
22 }
23 for(int i=1;i<=8337;i++) {
24 try {
25 br=new BufferedReader(new FileReader(new File("D:\\Documents\\adf\\adf_"+i+".csv")));
26 String line;
27 List<String> allString=new ArrayList<>();
28 try {
29 while((line=br.readLine())!=null) {
30 if(i==1) {
31 bw.write(line);
32 bw.newLine();
33 }else {
34 allString.add(line);
35 if(allString.size()>1) {
36 bw.write(line);
37 bw.newLine();
38 }
39 }
40 }
41 } catch (IOException e) {
42 // TODO Auto-generated catch block
43 e.printStackTrace();
44 }
45 } catch (FileNotFoundException e) {
46 // TODO Auto-generated catch block
47 e.printStackTrace();
48 }
49 }
50 try {
51 br.close();
52 } catch (IOException e) {
53 // TODO Auto-generated catch block
54 e.printStackTrace();
55 }
56 try {
57 bw.close();
58 } catch (IOException e) {
59 // TODO Auto-generated catch block
60 e.printStackTrace();
61 }
62 System.out.println("完成");
63 }
64
65 }
本文读写采用缓冲流的方式进行读写,缓冲流有降低程序运行时间的特点。
值得注意的是,一定要在恰当的位置关闭缓冲流,避免造成缓冲区数据为输出,导致数据的缺失的后果。