csv数据特点:
csv是文本格式,一行数据是一条记录,每个单元之间用“,”隔开。csv数据可以用Excel打开。
读写csv文件的主要程序如下所示:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; public class Add { public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br=null;
BufferedWriter bw = null;
try {
bw=new BufferedWriter(new FileWriter("D:\\Documents\\adf_all.csv"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=1;i<=8337;i++) {
try {
br=new BufferedReader(new FileReader(new File("D:\\Documents\\adf\\adf_"+i+".csv")));
String line;
List<String> allString=new ArrayList<>();
try {
while((line=br.readLine())!=null) {
if(i==1) {
bw.write(line);
bw.newLine();
}else {
allString.add(line);
if(allString.size()>1) {
bw.write(line);
bw.newLine();
}
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("完成");
} }
本文读写采用缓冲流的方式进行读写,缓冲流有降低程序运行时间的特点。
值得注意的是,一定要在恰当的位置关闭缓冲流,避免造成缓冲区数据为输出,导致数据的缺失的后果。