Beispiel #1
0
 @Override
 public void execute(FetchedPage page) {
   try {
     if (isFirstPage) {
       // Create new file and add headers
       Files.createFile(destination);
       fileWriter =
           Files.newBufferedWriter(destination, StandardCharsets.UTF_8, StandardOpenOption.APPEND);
       mapWriter = new CsvMapWriter(fileWriter, csvformat);
       mapWriter.writeHeader(getHeaders(page).split(","));
       doWrite(page);
       isFirstPage = false;
     } else {
       fileWriter =
           Files.newBufferedWriter(destination, StandardCharsets.UTF_8, StandardOpenOption.APPEND);
       mapWriter = new CsvMapWriter(fileWriter, csvformat);
       doWrite(page);
     }
   } catch (Exception e) {
     logger.info("Exception while writing CSV file", e);
     throw new FatalError("CSV file can not be created.");
   } finally {
     if (mapWriter != null) {
       try {
         mapWriter.close();
       } catch (IOException e) {
         logger.debug("Exception while closing resources used for csv", e);
       }
     }
     if (fileWriter != null) {
       try {
         fileWriter.close();
       } catch (IOException e) {
         logger.debug("Exception while closing resources used for csv", e);
       }
     }
   }
 }