1 package org.jumpmind.symmetric.common.csv;
2
3 import java.io.ByteArrayInputStream;
4 import java.io.ByteArrayOutputStream;
5 import java.io.IOException;
6 import java.io.InputStreamReader;
7 import java.io.OutputStreamWriter;
8
9 import com.csvreader.CsvReader;
10 import com.csvreader.CsvWriter;
11
12 public class CsvUtil {
13
14 public static String[] tokenizeCsvData(String csvData) {
15 String[] tokens = null;
16 if (csvData != null) {
17 InputStreamReader reader = new InputStreamReader(new ByteArrayInputStream(csvData.getBytes()));
18 CsvReader csvReader = new CsvReader(reader);
19 csvReader.setEscapeMode(CsvReader.ESCAPE_MODE_BACKSLASH);
20 try {
21 if (csvReader.readRecord()) {
22 tokens = csvReader.getValues();
23 }
24 } catch (IOException e) {
25 }
26 }
27 return tokens;
28 }
29
30 public static String escapeCsvData(String data) {
31 ByteArrayOutputStream out = new ByteArrayOutputStream();
32 CsvWriter writer = new CsvWriter(new OutputStreamWriter(out), ',');
33 writer.setEscapeMode(CsvWriter.ESCAPE_MODE_BACKSLASH);
34 try {
35 writer.write(data);
36 writer.close();
37 out.close();
38 } catch (IOException e) {
39 }
40 return out.toString();
41 }
42 }