import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
class Csv2Html {
public static String escapeChars(String lineIn) {
StringBuilder sb = new StringBuilder();
int lineLength = lineIn.length();
for (int i = 0; i < lineLength; i++) {
char c = lineIn.charAt(i);
switch (c) {
case '"':
sb.append(""");
break;
case '&':
sb.append("&");
break;
case '\'':
sb.append("'");
break;
case '<':
sb.append("<");
break;
case '>':
sb.append(">");
break;
default: sb.append(c);
}
}
return sb.toString();
}
public static void tableHeader(PrintStream ps, String[] columns) {
ps.print("
");
for (int i = 0; i < columns.length; i++) {
ps.print("| ");
ps.print(columns[i]);
ps.print(" | ");
}
ps.println("
");
}
public static void tableRow(PrintStream ps, String[] columns) {
ps.print("");
for (int i = 0; i < columns.length; i++) {
ps.print("| ");
ps.print(columns[i]);
ps.print(" | ");
}
ps.println("
");
}
public static void main(String[] args) throws Exception {
boolean withTableHeader = (args.length != 0);
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
PrintStream stdout = System.out;
stdout.println("");
stdout.println("");
stdout.println("");
stdout.println("Csv2Html");
stdout.println("");
stdout.println("Csv2Html
");
stdout.println("");
String stdinLine;
boolean firstLine = true;
while ((stdinLine = br.readLine()) != null) {
String[] columns = escapeChars(stdinLine).split(",");
if (withTableHeader == true && firstLine == true) {
tableHeader(stdout, columns);
firstLine = false;
} else {
tableRow(stdout, columns);
}
}
stdout.println("
");
}
}