Author: kmorin Date: 2013-03-25 15:58:43 +0100 (Mon, 25 Mar 2013) New Revision: 2560 Url: http://nuiton.org/projects/nuiton-utils/repository/revisions/2560 Log: fixes #2632 add a parameter not to export the header Modified: trunk/nuiton-csv/src/main/java/org/nuiton/util/csv/Export.java Modified: trunk/nuiton-csv/src/main/java/org/nuiton/util/csv/Export.java =================================================================== --- trunk/nuiton-csv/src/main/java/org/nuiton/util/csv/Export.java 2013-03-25 13:52:33 UTC (rev 2559) +++ trunk/nuiton-csv/src/main/java/org/nuiton/util/csv/Export.java 2013-03-25 14:58:43 UTC (rev 2560) @@ -97,6 +97,14 @@ exporter.write(writer); } + public static <E> void exportToWriter(ExportModel<E> model, + Iterable<E> data, + Writer writer, + boolean writeHeader) throws Exception { + Export<E> exporter = newExport(model, data); + exporter.write(writer, writeHeader); + } + public static <E> void exportToFile(ExportModel<E> model, Iterable<E> data, File file) throws Exception { @@ -112,6 +120,15 @@ exporter.write(file, charset); } + public static <E> void exportToFile(ExportModel<E> model, + Iterable<E> data, + File file, + Charset charset, + boolean writeHeader) throws Exception { + Export<E> exporter = newExport(model, data); + exporter.write(file, charset, writeHeader); + } + public static <E> String exportToString(ExportModel<E> model, Iterable<E> data) throws Exception { Export<E> exporter = newExport(model, data); @@ -125,6 +142,14 @@ return exporter.toString(charset); } + public static <E> String exportToString(ExportModel<E> model, + Iterable<E> data, + Charset charset, + boolean writeHeader) throws Exception { + Export<E> exporter = newExport(model, data); + return exporter.toString(charset, writeHeader); + } + protected Export(ExportModel<E> model, Iterable<E> data) { this.model = model; this.data = data; @@ -132,9 +157,15 @@ } public void write(Writer writer) throws Exception { + write(writer, true); + } + public void write(Writer writer, boolean writeHeader) throws Exception { + // write csv header - writeHeader(writer); + if (writeHeader) { + writeHeader(writer); + } // obtain export columns Iterable<ExportableColumn<E, Object>> columns = @@ -183,9 +214,13 @@ } public void write(OutputStream outputStream, Charset charset) throws Exception { + write(outputStream, charset, true); + } + + public void write(OutputStream outputStream, Charset charset, boolean writeHeader) throws Exception { Writer writer = new OutputStreamWriter(outputStream, charset); try { - write(writer); + write(writer, writeHeader); } finally { writer.close(); } @@ -195,22 +230,38 @@ write(outputStream, Charset.defaultCharset()); } + public void write(OutputStream outputStream, boolean writeHeader) throws Exception { + write(outputStream, Charset.defaultCharset(), writeHeader); + } + public void write(File file, Charset charset) throws Exception { + write(file, charset, true); + } + + public void write(File file, Charset charset, boolean writeHeader) throws Exception { FileOutputStream fileOutputStream = new FileOutputStream(file); try { - write(fileOutputStream, charset); + write(fileOutputStream, charset, writeHeader); } finally { fileOutputStream.close(); } } public void write(File file) throws Exception { - write(file, Charset.defaultCharset()); + write(file, true); } + + public void write(File file, boolean writeHeader) throws Exception { + write(file, Charset.defaultCharset(), writeHeader); + } public String toString(Charset charset) throws Exception { + return toString(charset, true); + } + + public String toString(Charset charset, boolean writeHeader) throws Exception { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - write(outputStream, charset); + write(outputStream, charset, writeHeader); byte[] bytes = outputStream.toByteArray(); String result = new String(bytes, charset); return result;