title: Java - Write CSV File with Apache.commons.csv
body: <p>I'm using the <a href="https://commons.apache.org/proper/commons-csv/" rel="noreferrer">apache.commons.csv library in Java</a>. I'm reading a CSV file from a web page with this code:</p>
  
  <pre><code>InputStream input = new URL(url).openStream();
          Reader reader = new InputStreamReader(input, "UTF-8");
  
          defaultParser = new CSVParser(reader, CSVFormat.DEFAULT);
          excelParser = new CSVParser(reader, CSVFormat.EXCEL.withHeader()); 
  
          defaultParsedData = defaultParser.getRecords();
          excelParsedData = excelParser.getRecords();
  </code></pre>
  
  <p>However, I can't find a method in this library to easily write this file to my computer in order to open it up and read from it later on.</p>
  
  <p>I tried this code to save the file.</p>
  
  <pre><code>String outputFile = savePath+".csv";
          CSVPrinter csvFilePrinter = null;
          CSVFormat csvFileFormat = CSVFormat.EXCEL.withHeader();
          FileWriter fileWriter = new FileWriter(outputFile);
          csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat);
  
          for (CSVRecord csvRecord : excelParser) {
              for(String dataPoint: csvRecord){
                  csvFilePrinter.print(dataPoint);
              }
              csvFilePrinter.print('\n');
           }
  
          fileWriter.flush();
          fileWriter.close();
          csvFilePrinter.close();
  </code></pre>
  
  <p>However, when I try to read the file with this code, nothing prints out:</p>
  
  <pre><code>InputStream input = new FileInputStream(cvsFilePath);
          Reader reader = new InputStreamReader(input, "UTF-8");
  
          CSVParser load = new CSVParser(reader, CSVFormat.EXCEL);
          //TEST THAT IT WORKED
          java.util.List&lt;CSVRecord&gt; testlist = load.getRecords();
          CSVRecord dataPoint = testlist.get(0);
          System.out.println("print: " + dataPoint.get(0));
  </code></pre>
  
  <p>This only prints out "print: "
  If I add </p>
  
  <pre><code>System.out.println("print: " + dataPoint.get(1));
  </code></pre>
  
  <p>it gives a </p>
  
  <blockquote>
    <p>Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1</p>
  </blockquote>
  
  <p>When I open the saved CSV file with notepad there is a blank line and then:</p>
  
  <blockquote>
    <p>2016-03-04,714.98999,716.48999,706.02002,710.890015,1967900,710.890015,"
    ",2016-03-03,718.679993,719.450012,706.02002,712.419983,1956800,712.419983," ",2016-03-02,719.00,720.00,712.00,718.849976,1627800,718.849976,"</p>
  </blockquote>