package com.telefonica.claudia.slm.monitoring.report; public class StringUtils { private static final char QUOTE = '"'; private static final char DELIMITER = ','; public static String toCSV(String[] valueArray) { StringBuilder sb = new StringBuilder(); for (int i=0; i<valueArray.length; i++) { String value = valueArray[i] == null ? "" : valueArray[i]; sb.append(QUOTE); for (int j=0; j<value.length(); j++) { char c = value.charAt(j); switch(c) { case '\n': sb.append("\\n"); break; case '\r': sb.append("\\r"); break; case '\\': sb.append("\\\\"); break; case QUOTE: sb.append("\\" + QUOTE); break; default: sb.append(c); } } sb.append(QUOTE); if (i < valueArray.length -1 ) { // is not the last one sb.append(DELIMITER); } } return sb.toString(); } }