package org.hwo.csv; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Vector; import javassist.bytecode.EnclosingMethodAttribute; public class CSV { List records; private char separator; private char enclosedBy; boolean isEnclosed; List parserRecord; List parserField; char lastChar; public CSV() { this.records = new LinkedList(); this.setSeparator(';'); this.setEnclosedBy('\"'); this.parserRecord = new ArrayList(); this.parserField = new ArrayList(); } private void nextRecord() { nextField(); this.records.add(parserRecord.toArray(new String[]{})); parserRecord.clear(); } private void nextField() { char fieldChars[] = new char[ parserField.size() ]; for (int i=0;i0) writer.write(separator); if (record[i] != null) { if (String.class.isInstance(record[i])) writer.write(enclosedBy); writer.write(record[i]); if (String.class.isInstance(record[i])) writer.write(enclosedBy); } } writer.write("\n"); } writer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public String getValue(int row,int column) { try { return this.records.get(row)[column]; } catch (ArrayIndexOutOfBoundsException ex) { return ""; } } public List getCells() { return this.records; } public List getCellsAsObjects() { List ol = new ArrayList(); for (String[] record:records) { Object[] ro = new Object[record.length]; for (int i=0;i