diff --git a/src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java b/src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java index 09167d035f14832366e6a46d0fc5cb28d58ecc92..4f42ddfebcefa10612a51d582c1b4ea5351553bc 100644 --- a/src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java +++ b/src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java @@ -1,13 +1,12 @@ /* - * CSV Reader/Writer, copyright (c) 2019 Christopher A. Bohn, bohn@unl.edu. + * CSV Reader/Writer, copyright (c) 2019-2020 Christopher A. Bohn, bohn@unl.edu. */ package edu.unl.cse.csv_io; import com.opencsv.CSVReaderHeaderAware; import com.opencsv.CSVReaderHeaderAwareBuilder; -import com.opencsv.CSVWriterBuilder; -import com.opencsv.ICSVWriter; +import com.opencsv.CSVWriter; import com.opencsv.exceptions.CsvValidationException; import java.io.*; @@ -86,8 +85,9 @@ public class CSVReaderWriter { return wroteFile; } - static void placeCSVonStream(Collection<Map<String, String>> data, OutputStream outputStream) { - ICSVWriter csvWriter = new CSVWriterBuilder(new OutputStreamWriter(outputStream)).build(); + static void placeCSVonStream(Collection<Map<String, String>> data, OutputStream outputStream) throws IOException { + OutputStreamWriter writer = new OutputStreamWriter(outputStream); + CSVWriter csvWriter = new CSVWriter(writer); List<String[]> allLines = new LinkedList<>(); String[] fieldNames = getFieldNames(data); int number_of_fields = fieldNames.length; @@ -102,6 +102,7 @@ public class CSVReaderWriter { allLines.add(values); } csvWriter.writeAll(allLines, false); + writer.close(); } private static String[] getFieldNames(Collection<Map<String, String>> data) { diff --git a/src/test/java/edu/unl/cse/csv_io/CSVReaderWriterTest.java b/src/test/java/edu/unl/cse/csv_io/CSVReaderWriterTest.java index 3e6d78f68aa4c797dc56d8a582cae3a2d81bc735..693c460855373d36ce16470a862bf6b934a88c42 100644 --- a/src/test/java/edu/unl/cse/csv_io/CSVReaderWriterTest.java +++ b/src/test/java/edu/unl/cse/csv_io/CSVReaderWriterTest.java @@ -128,7 +128,7 @@ public class CSVReaderWriterTest { // We probably should test malformed CSVs, but this is good enough for students' starter code @Test - public void testWriting2x3CSV() { + public void testWriting2x3CSV() throws IOException { // Input String[] headers = {"header1", "header2"}; String[][] rows = {{"datum1", "datum2"}, {"datum3", "datum4"}};