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