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