??? CSV(Comma-Separated Values)为逗号分隔值文件,其文件以纯文本形式存储表格数据(数字和文本),纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。数据的字段由逗号分开,程序通过读取文件重新创建正确的字段,方法是每次遇到逗号时开始一段新的数据。这种文件估计今后会很常用的,先记录下来,下面通过两段简单的java代码来读取和写入CSV文件中的字段。
??? CSV文件的读取需要用到java.io.BufferedReader类和java.util.StringTokenizer类,BufferedReader类用来读取文件,StringTokenizer用来将一行数据分成多个字段。
1、读取CSV文件内容
1 public class ReadCSV {
2 public static void main(String[] args) {
3 try {
4 File csv = new File("./Test.csv");
5
6 BufferedReader br = new BufferedReader(new FileReader(csv));
7
8 String line = "";
9 while((line = br.readLine()) != null) {
10 StringTokenizer st = new StringTokenizer(line, ",");
11
12 while(st.hasMoreTokens()) {
13 System.out.print(st.nextToken() + "\t");
14 }
15 System.out.println();
16 }
17 br.close();
18 }catch(FileNotFoundException e) {
19 e.printStackTrace();
20 }catch(IOException e) {
21 e.printStackTrace();
22 }
23 }
24 }
2、写入CSV文件内容
1 public class WriteCSV {
2 public static void main(String[] args) throws IOException {
3 File csv = new File("Test.csv");
4
5 BufferedWriter bw = new BufferedWriter(new FileWriter(csv,true)); //加true是追加的意思
6
7 bw.newLine(); //新增一行
8 bw.write("中国澳门风云" + "," + "2234" + "," + "4564");
9 bw.close();
10 }
11 }
结果:
王晶, 2344, 3455
周润发,1234,5544
谢霆锋,3453, 3455
景甜, 2334, 4556
中国澳门风云,2234,4564