List of usage examples for org.apache.commons.csv CSVParser close
@Override public void close() throws IOException
From source file:org.apache.tika.parser.isatab.ISATabAssayParser.java
@Override public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException { // Automatically detect the character encoding AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(stream), metadata, context.get(ServiceLoader.class, LOADER)); CSVParser csvParser = null; try {/* w w w. j a v a 2 s . c o m*/ Charset charset = reader.getCharset(); MediaType type = new MediaType(MediaType.application("x-isatab-assay"), charset); metadata.set(Metadata.CONTENT_TYPE, type.toString()); metadata.set(Metadata.CONTENT_ENCODING, charset.name()); XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata); xhtml.newline(); csvParser = new CSVParser(reader, CSVFormat.TDF); xhtml.startDocument(); xhtml.newline(); xhtml.startElement("table"); xhtml.newline(); List<CSVRecord> records = csvParser.getRecords(); for (int i = 0; i < records.get(0).size(); i++) { xhtml.startElement("th"); xhtml.characters(records.get(0).get(i)); xhtml.endElement("th"); xhtml.newline(); } for (int i = 1; i < records.size(); i++) { xhtml.startElement("tr"); xhtml.newline(); for (int j = 0; j < records.get(i).size(); j++) { xhtml.startElement("td"); xhtml.characters(records.get(i).get(j)); xhtml.endElement("td"); xhtml.newline(); } xhtml.endElement("tr"); xhtml.newline(); } xhtml.endElement("table"); xhtml.newline(); xhtml.endDocument(); } finally { reader.close(); csvParser.close(); } }
From source file:org.apache.tika.parser.isatab.ISATabStudyParser.java
@Override public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException { // Automatically detect the character encoding AutoDetectReader reader = new AutoDetectReader(new CloseShieldInputStream(stream), metadata, context.get(ServiceLoader.class, LOADER)); CSVParser csvParser = null; try {/*from w ww .j a v a2s. co m*/ Charset charset = reader.getCharset(); MediaType type = new MediaType(MediaType.application("x-isatab-study"), charset); metadata.set(Metadata.CONTENT_TYPE, type.toString()); metadata.set(Metadata.CONTENT_ENCODING, charset.name()); XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata); xhtml.newline(); csvParser = new CSVParser(reader, CSVFormat.TDF); xhtml.startDocument(); xhtml.newline(); xhtml.startElement("table"); xhtml.newline(); List<CSVRecord> records = csvParser.getRecords(); for (int i = 0; i < records.get(0).size(); i++) { xhtml.startElement("th"); xhtml.characters(records.get(0).get(i)); xhtml.endElement("th"); xhtml.newline(); } for (int i = 1; i < records.get(0).size(); i++) { xhtml.startElement("tr"); xhtml.newline(); for (int j = 0; j < records.get(i).size(); j++) { xhtml.startElement("td"); xhtml.characters(records.get(i).get(j)); xhtml.endElement("td"); xhtml.newline(); } xhtml.endElement("tr"); xhtml.newline(); } xhtml.endElement("table"); xhtml.newline(); xhtml.endDocument(); } finally { reader.close(); csvParser.close(); } }
From source file:org.chanthing.csvtool.CSVTrans.java
public static void main(String[] args) throws IOException { CSVParser reader = null; CSVPrinter writer = null;//ww w . java 2 s .com CSVXform xFormer = null; if (args.length < 2) { System.out.println("Usage: java CSVTrans <src_csv_file> <dest_csv_file>"); return; } try { reader = new CSVParser(new FileReader(args[0]), srcFormat); writer = new CSVPrinter(new FileWriter(args[1]), destFormat); xFormer = new CSVXform(destHeaders.size(), xforms); writer.printRecord(destHeaders); // Write out headers to destination file /* * For each record in the input file */ for (CSVRecord record : reader) { List<String> destRecord = xFormer.xform(record); writer.printRecord(destRecord); } } finally { if (reader != null) { reader.close(); } if (writer != null) { writer.close(); } } }
From source file:org.etudes.mneme.tool.UploadCsv.java
/** * Parse the contents into CSV records./*from ww w . ja v a 2s. co m*/ */ protected void parse() { try { Reader in = new StringReader(this.contents); CSVParser parser = new CSVParser(in, CSVFormat.RFC4180); this.records = parser.getRecords(); parser.close(); } catch (IOException e) { } finally { } }
From source file:org.mercycorps.translationcards.txcmaker.GetTxcServlet.java
private void produceTxcJson(Drive drive, HttpServletRequest req, HttpServletResponse resp) throws IOException { TxcPortingUtility.ExportSpec exportSpec = new TxcPortingUtility.ExportSpec() .setDeckLabel(req.getParameter("deckName")).setPublisher(req.getParameter("publisher")) .setDeckId(req.getParameter("deckId")).setLicenseUrl(req.getParameter("licenseUrl")) .setLocked(req.getParameter("locked") != null); String spreadsheetFileId = req.getParameter("docId"); Drive.Files.Export sheetExport = drive.files().export(spreadsheetFileId, CSV_EXPORT_TYPE); Reader reader = new InputStreamReader(sheetExport.executeMediaAsInputStream()); CSVParser parser = new CSVParser(reader, CSVFormat.DEFAULT.withHeader()); try {/*from ww w. jav a 2s.co m*/ for (CSVRecord row : parser) { String language = row.get(SRC_HEADER_LANGUAGE); TxcPortingUtility.CardSpec card = new TxcPortingUtility.CardSpec() .setLabel(row.get(SRC_HEADER_LABEL)).setFilename(row.get(SRC_HEADER_FILENAME)) .setTranslationText(row.get(SRC_HEADER_TRANSLATION_TEXT)); exportSpec.addCard(language, card); } } finally { parser.close(); reader.close(); } resp.getWriter().println(TxcPortingUtility.buildTxcJson(exportSpec)); }
From source file:org.nuxeo.ecm.user.center.profile.UserProfileImporter.java
public void doImport(CoreSession session) { UserProfileService ups = Framework.getLocalService(UserProfileService.class); config = ups.getImporterConfig();//from w w w .j a v a 2 s .c om if (config == null) { log.error("No importer configuration could be found"); return; } dataFileName = config.getDataFileName(); if (dataFileName == null) { log.error("No importer dataFileName was supplied"); return; } InputStream is = getResourceAsStream(dataFileName); if (is == null) { log.error("Error locating CSV data file: " + dataFileName); return; } Reader in = new BufferedReader(new InputStreamReader(is)); CSVParser parser = null; try { parser = CSVFormat.DEFAULT.withEscape(escapeCharacter).withHeader().parse(in); doImport(session, parser, ups); } catch (IOException e) { log.error("Unable to read CSV file", e); } finally { if (parser != null) { try { parser.close(); } catch (IOException e) { log.debug(e, e); } } } }
From source file:org.shareok.data.documentProcessor.CsvHandler.java
/** * Reads out the data in an excel file and stores data in a hashmap * <p>Also sets the total record number and file heading</p> * /*from ww w .j a v a 2 s.c o m*/ * @throws Exception */ @Override public void readData() { FileReader fileReader = null; CSVParser csvFileParser = null; String[] headMapping = null; //CSVFormat csvFileFormat = CSVFormat.DEFAULT.withHeader(FILE_HEADER_MAPPING); try { //initialize FileReader object fileReader = new FileReader(fileName); //initialize CSVParser object if (null == csvFormat) { csvFormat = CSVFormat.DEFAULT; } csvFileParser = new CSVParser(fileReader, csvFormat); //Get a list of CSV file records List csvRecords = csvFileParser.getRecords(); int size = csvRecords.size(); setRecordCount(size); data = new HashMap(); //Read the CSV file records starting from the second record to skip the header for (int i = 0; i < size; i++) { CSVRecord record = (CSVRecord) csvRecords.get(i); if (null != record) { if (i == 0) { List headMappingList = new ArrayList(); Iterator it = record.iterator(); while (it.hasNext()) { String value = (String) it.next(); headMappingList.add(value); } headMapping = new String[headMappingList.size()]; headMapping = (String[]) headMappingList.toArray(headMapping); setFileHeadMapping(headMapping); } else { for (int j = 0; j < fileHeadMapping.length; j++) { String colName = fileHeadMapping[j].trim(); String key = colName + "-" + i; data.put(key, record.get(j)); } } } } } catch (Exception e) { System.out.println("Error in CsvFileReader !!!"); e.printStackTrace(); } finally { try { fileReader.close(); csvFileParser.close(); } catch (IOException e) { System.out.println("Error while closing fileReader/csvFileParser !!!"); e.printStackTrace(); } } }
From source file:org.thegalactic.context.io.ContextSerializerCsv.java
/** * Read a context from a csv file./* w w w . j a v a 2s .com*/ * * The following format is respected: * * The first line contains the attribute names, the other lines contains the * observations identifier followed by boolean values * * ~~~ * "",a,b,c,d,e * 1,1,0,1,0,0 * 2,1,1,0,0,0 * 3,0,1,0,1,1 * 4,0,0,1,0,1 * ~~~ * * If the first attribute is the empty string, the first column corresponds * to the individual identifiers. In the other case, the individual * identifiers will be generated by successive integers. * * ~~~ * a,b,c,d,e * 1,0,1,0,0 * 1,1,0,0,0 * 0,1,0,1,1 * 0,0,1,0,1 * ~~~ * * @param context a context to read * @param file a file * * @throws IOException When an IOException occurs */ public void read(Context context, BufferedReader file) throws IOException { // Parse the file CSVParser parser = CSVFormat.RFC4180.parse(file); // Get the records and record size List<CSVRecord> records = parser.getRecords(); int length = records.size(); // Verify length if (length == 0) { throw new IOException("CSV cannot be empty"); } // Get the attributes and the attribute size CSVRecord attributes = records.get(0); int size = attributes.size(); // Detect invalid attribute size if (size == 1 && attributes.get(0).equals("")) { throw new IOException("Attribute size cannot be 0"); } // Index of the first attribute int first = 0; if (attributes.get(0).equals("")) { first = 1; } // Get the attributes for (int i = first; i < size; i++) { String attribute = attributes.get(i); // Detect duplicated attribute if (!context.addToAttributes(attribute)) { throw new IOException("Duplicated attribute"); } // Detect empty attribute if ("".equals(attribute)) { throw new IOException("Empty attribute"); } } // Get the data for (int j = 1; j < length; j++) { // Get the current record CSVRecord record = records.get(j); // Detect incorrect size if (record.size() != size) { throw new IOException("Line does not have the correct number of attributes"); } // Get the observation identifier String identifier; if (first == 1) { identifier = record.get(0); } else { identifier = String.valueOf(j); } // Detect duplicated identifier if (!context.addToObservations(identifier)) { throw new IOException("Duplicated identifier"); } // Add the extent/intent for the current identifier and current attribute for (int i = first; i < size; i++) { if (record.get(i).equals("1")) { context.addExtentIntent(identifier, attributes.get(i)); } } } // Close the parser parser.close(); context.setBitSets(); }
From source file:org.wso2.carbon.event.simulator.csvFeedSimulation.core.CSVFeedEventSimulator.java
/** * This method must be called within a synchronized block to avoid multiple file simulators from running simultaneously. * Read the values from uploaded CSV file and convert those values into event and send those events to * input handler// w ww.ja va2 s . c om * <p> * <p> * To read the CSV file It uses CSV parser Library. * {@link <a href="https://commons.apache.org/proper/commons-csv/apidocs/org/apache/commons/csv/CSVParser.html">CSVParser</a>} * </p> * <p> * <p> * CSV file can be separated by one of these fallowing character , , ; , \t by default * It has capability to have user defined delimiter * Any field may be quoted (with double quotes) * Fields with embedded commas or delimiter characters must be double quoted. * </p> * <p> * Initialize CSVParser * * @param executionPlanDto ExecutionPlanDto * @param csvFileConfig CSVFileSimulationDto */ private void sendEvent(ExecutionPlanDto executionPlanDto, CSVFileSimulationDto csvFileConfig) { /* return no of events read from CSV file during ever iteration */ long noOfEvents = 0; int delay = csvFileConfig.getDelay(); /* Reader for reading character streams from file */ Reader in = null; /* CSVParser to read CSV Values */ CSVParser csvParser = null; if (delay <= 0) { log.warn("Events will be sent continuously since the delay between events are set to " + delay + "milliseconds"); delay = 0; } try { /* Initialize Reader */ in = new FileReader(String.valueOf(Paths.get(System.getProperty("java.io.tmpdir"), csvFileConfig.getFileDto().getFileInfo().getFileName()))); /* Initialize CSVParser with appropriate CSVFormat according to delimiter */ switch (csvFileConfig.getDelimiter()) { case ",": csvParser = CSVParser.parse(in, CSVFormat.DEFAULT); break; case ";": csvParser = CSVParser.parse(in, CSVFormat.EXCEL); break; case "\\t": csvParser = CSVParser.parse(in, CSVFormat.TDF); break; default: csvParser = CSVParser.parse(in, CSVFormat.newFormat(csvFileConfig.getDelimiter().charAt(0))); } int attributeSize = executionPlanDto.getInputStreamDtoMap().get(csvFileConfig.getStreamName()) .getStreamAttributeDtos().size(); /* Iterate through the CSV file line by line */ for (CSVRecord record : csvParser) { try { synchronized (this) { if (isStopped) { isStopped = false; break; } if (isPaused) { this.wait(); } } if (record.size() != attributeSize) { log.warn("No of attribute is not equal to attribute size: " + attributeSize + " is needed" + "in Row no:" + noOfEvents + 1); } String[] attributes = new String[attributeSize]; noOfEvents = csvParser.getCurrentLineNumber(); for (int i = 0; i < record.size(); i++) { attributes[i] = record.get(i); } //convert Attribute values into event Event event = EventConverter.eventConverter(csvFileConfig.getStreamName(), attributes, executionPlanDto); // TODO: 13/12/16 delete sout System.out.println("Input Event " + Arrays.deepToString(event.getEventData())); // //send the event to input handler send(csvFileConfig.getStreamName(), event); //delay between two events if (delay > 0) { Thread.sleep(delay); } } catch (EventSimulationException e) { log.error("Event dropped due to Error occurred during generating an event" + e.getMessage()); } catch (InterruptedException e) { log.error("Error occurred during send event" + e.getMessage()); } } } catch (IllegalArgumentException e) { // TODO: 02/12/16 proper error message throw new EventSimulationException("File Parameters are null" + e.getMessage()); } catch (FileNotFoundException e) { throw new EventSimulationException( "File not found :" + csvFileConfig.getFileDto().getFileInfo().getFileName()); } catch (IOException e) { throw new EventSimulationException("Error occurred while reading the file"); } finally { try { if (in != null && csvParser != null) in.close(); csvParser.close(); } catch (IOException e) { throw new EventSimulationException("Error occurred during closing the file"); } } }
From source file:otn.mobile.bl.TrackServicesHandler.java
public OtnServiceTrackResponse addTracks(OtnServiceTrackRequest request) { //*********************** Variables *************************** OtnServiceTrackResponse response = new OtnServiceTrackResponse(); User users;//from w ww. j a v a2s. c o m TransportType transport_type = null; Weather weather; WeatherType weather_type; Apps app = null; Source source = null; Track track = new Track(); Track subTracks; TrackRating track_rating; TrackRatingType track_rating_type; ArrayList<OtnServiceSubTracksResponse> trackList = new ArrayList<OtnServiceSubTracksResponse>(); ArrayList<OtnServiceWeatherRatings> weatherListparams = null; ArrayList<OtnServiceGeometryPoints> geometryPointsListparams = null; byte[] trackFileCsv = null; //************************* Action **************************** System.out.println("------------Start---------------"); try { //**********************find user***************************** users = em.find(User.class, request.getUserId()); if (users != null) { System.out.println("====================================="); System.out.println("user id " + users.getUserId()); } else { System.out.println("====================================="); System.out.println("user not found"); em.getTransaction().begin(); users = new User(); users.setUserId(request.getUserId()); em.persist(users); em.flush(); em.getTransaction().commit(); em.clear(); System.out.println("user created"); } //***********************find transportID****************************** if (request.getTransportId() != 0) { transport_type = em.find(TransportType.class, request.getTransportId()); if (transport_type != null) { System.out.println("====================================="); System.out.println("transport id " + transport_type.getTransportTypeId()); track.setTransportTypeId(transport_type); } else { response.setMessage("transport type id does not exist"); response.setResponseCode(1); return response; } } //***********************find weatherID****************************** // if (request.getWeatherId() != 0) { // weather = em.find(WeatherType.class, request.getWeatherId()); // // if (weather != null) { // System.out.println("====================================="); // System.out.println("weather id " + weather.getWeatherId()); // // } else { // response.setMessage("weather condition id does not exist"); // response.setResponseCode(1); // return response; // } // } //***********************find app name****************************** if (request.getAppId() != 0) { app = em.find(Apps.class, request.getAppId()); if (app != null) { System.out.println("====================================="); System.out.println("app id " + app.getName()); track.setAppId(app); } else { response.setMessage("application does not exist"); response.setResponseCode(1); return response; } } //***********************find sourceId****************************** if (request.getSourceId() != 0) { source = em.find(Source.class, request.getSourceId()); if (source != null) { System.out.println("====================================="); System.out.println("source id " + source.getName()); track.setRouteSourceId(source); } else { response.setMessage("source type id does not exist"); response.setResponseCode(1); return response; } } //***************Create track record**************************** em.getTransaction().begin(); if (request.getName() != null) { track.setName(request.getName()); } else { track.setName(""); } track.setDescription(request.getDescription()); if (request.getPicture() != null) { track.setPicture(request.getPicture()); } track.setDistance(request.getDistance()); track.setDuration(request.getDuration()); track.setSpeed(request.getSpeed()); track.setElevation(request.getElevation()); if (request.getTrackFileCsv() != null) { // String csvFile = new String(request.getTrackFileCsv()); trackFileCsv = Base64.encodeBase64(request.getTrackFileCsv()); track.setTrackFileCsv(trackFileCsv); } track.setRouteKlm(request.getRoute_kml()); track.setLatStart(request.getLat_start()); track.setLongStart(request.getLon_start()); track.setLatEnd(request.getLat_end()); track.setLongEnd(request.getLon_end()); track.setCreationDate(new Date()); track.setDatetimeStart(request.getDatetime_start()); track.setDatetimeEnd(request.getDatetime_end()); track.setUserId(users); track.setIsPublic(request.isIs_public()); track.setStartAddress(request.getStart_address()); track.setEndAddress(request.getEnd_address()); if (request.getTrackRatings().size() > 0) { OtnServiceTrackResponse rate_response = checkTrackRateAndType(request.getTrackRatings()); if (rate_response.getResponseCode() == 0) { em.persist(track); em.flush(); em.getTransaction().commit(); em.clear(); for (OtnServicePoiRatings trackRatingList : request.getTrackRatings()) { em.getTransaction().begin(); track_rating = new TrackRating(); track_rating_type = em.find(TrackRatingType.class, trackRatingList.getRatingTypeId()); track_rating.setTrackId(track); track_rating.setTrackRatingTypeId(track_rating_type); track_rating.setRate(trackRatingList.getRate()); track_rating.setUserId(users); em.persist(track_rating); em.flush(); em.getTransaction().commit(); em.clear(); response.setMessage("success"); response.setResponseCode(0); } } else { response.setMessage(rate_response.getMessage()); response.setResponseCode(rate_response.getResponseCode()); return response; } } else { em.persist(track); em.flush(); em.getTransaction().commit(); em.clear(); response.setMessage("success"); response.setResponseCode(0); } //***********************find weatherID****************************** if (request.getWeatherList().size() > 0) { if (track.getTrackId() == 0) { em.persist(track); em.flush(); em.getTransaction().commit(); em.clear(); } weatherListparams = new ArrayList<OtnServiceWeatherRatings>(); for (OtnServiceWeatherRatings weatherList : request.getWeatherList()) { em.getTransaction().begin(); weather = new Weather(); weather_type = em.find(WeatherType.class, weatherList.getWeatherTypeId()); if (weather_type == null) { response.setMessage("weather id does not exist"); response.setResponseCode(1); return response; } weather.setTrackId(track); weather.setWeatherTypeId(weather_type); em.persist(weather); em.flush(); em.getTransaction().commit(); em.clear(); response.setMessage("success"); response.setResponseCode(0); weatherListparams.add(new OtnServiceWeatherRatings(weather_type.getWeatherId())); } response.setWeatherList(weatherListparams); } //***********************insert geometry points****************************** // insert startPoint List<OtnServiceGeometryPoints> startPointsList = new ArrayList<OtnServiceGeometryPoints>(); OtnServiceGeometryPoints startPoints = new OtnServiceGeometryPoints(); startPoints.setLatitude(request.getLat_start()); startPoints.setLongitude(request.getLon_start()); startPointsList.add(startPoints); // insert endPoint List<OtnServiceGeometryPoints> endPointsList = new ArrayList<OtnServiceGeometryPoints>(); OtnServiceGeometryPoints endPoints = new OtnServiceGeometryPoints(); endPoints.setLatitude(request.getLat_end()); endPoints.setLongitude(request.getLon_end()); endPointsList.add(endPoints); /** * decode csv String */ if (request.getTrackFileCsv() != null) { String trackFilecsvDecode = new String(request.getTrackFileCsv()); /** * write file to folder */ String urlfile = Base_url + System.currentTimeMillis() + ".csv"; BufferedWriter writer = new BufferedWriter(new FileWriter(urlfile)); writer.append(trackFilecsvDecode); writer.close(); // System.out.println("csv " + trackFilecsvDecode); // set delimeter CSVFormat format = CSVFormat.newFormat(';').withHeader(); //parse csv format String // log.info("1 "); CSVParser parser = new CSVParser(new StringReader(trackFilecsvDecode), format); List<OtnServiceGeometryPoints> geomPoints = new ArrayList<OtnServiceGeometryPoints>(); //parse records (in the example 2 records) List timestamp = new ArrayList<String>(); for (CSVRecord record : parser) { timestamp.add(record.get("Timestamp")); // System.out.println("latitude " + record.get("Latitude")); // System.out.println("Longitude " + record.get("Longitude")); // System.out.println("Timestamp " + record.get("Timestamp")); // log.info("2"); geomPoints.add(new OtnServiceGeometryPoints(Double.parseDouble(record.get("Latitude")), Double.parseDouble(record.get("Longitude")))); } // System.out.println("number " + total_records); // System.out.println("first time" + timestamp.get(0)); // System.out.println("end time" + timestamp.get(timestamp.size() - 1)); String start_date = timestamp.get(0).toString(); String end_date = timestamp.get(timestamp.size() - 1).toString(); parser.close(); // log.info("3"); // if (request.getGeometryPoints() != null) { // geomPoints = request.getGeometryPoints(); // // } insertGeometryPoints(track.getTrackId(), geomPoints, startPointsList, endPointsList, start_date, end_date, urlfile); } response.setName(track.getName()); response.setTrackId(track.getTrackId()); response.setDescription(track.getDescription()); response.setDistance(track.getDistance()); response.setDuration(track.getDuration()); if (transport_type != null) { response.setTransportName(transport_type.getName()); } response.setSpeed(track.getSpeed()); response.setElevation(track.getElevation()); response.setLat_start(track.getLatStart()); response.setLon_start(track.getLongStart()); response.setLat_end(track.getLatEnd()); response.setLon_end(track.getLongEnd()); response.setDatetime_start(track.getDatetimeStart()); response.setDatetime_end(track.getDatetimeEnd()); response.setUserId(users.getUserId()); response.setIs_public(track.getIsPublic()); response.setRoute_kml(track.getRouteKlm()); response.setTrackFileCsv(Base64.decodeBase64(track.getTrackFileCsv())); if (app != null) { response.setAppName(app.getName()); } response.setStart_address(track.getStartAddress()); response.setEnd_address(track.getEndAddress()); // if (weather != null) { // response.setWeatherCondition(weather.getCondition()); // } if (source != null) { response.setSourceName(source.getName()); } return response; // } } catch (Exception e) { e.printStackTrace(); response.setMessage("failure"); response.setResponseCode(2); } finally { return response; } }