@Override public Report generateReport(String fileInput) throws CalculateIncomeTaxException { Reader in = null; List<InputRawData> inputRawData = new ArrayList<InputRawData>(); try { in = new FileReader(fileInput); Iterable<CSVRecord> records = CSVFormat.EXCEL.withHeader().withIgnoreEmptyLines().parse(in); for (CSVRecord record : records) { String firstName = record.get("FirstName"); String lastName = record.get("LastName"); String annualSalary = record.get("AnnualSalary"); String superRate = record.get("SuperRate"); String paymentMonth = record.get("PaymentMonth"); inputRawData.add( new InputRawData(firstName, lastName, annualSalary, superRate, paymentMonth)); } } catch (FileNotFoundException fileNotFound) { fileNotFound.printStackTrace(); } catch (IOException ioException) { ioException.printStackTrace(); } finally { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } return reportFactory.create(inputRawData); }
/** * Returns a <code>CSVParser</code> object to access the contents of an open file, possibly * without a header row and a different data delimiter than a comma. * * <p>Each line of the file should be formatted as data separated by the delimiter passed as a * parameter and with/without a header row to describe the column names. This is useful if the * data is separated by some character other than a comma. * * @param withHeader uses first row of data as a header row only if true * @param delimiter a single character that separates one field of data from another * @return a <code>CSVParser</code> that can provide access to the records in the file one at a * time * @throws exception if this file does not represent a CSV formatted data * @throws exception if <code>delimiter.length() != 1</code> */ public CSVParser getCSVParser(boolean withHeader, String delimiter) { if (delimiter == null || delimiter.length() != 1) { throw new ResourceException( "FileResource: CSV delimiter must be a single character: " + delimiter); } try { char delim = delimiter.charAt(0); Reader input = new StringReader(mySource); if (withHeader) { return new CSVParser(input, CSVFormat.EXCEL.withHeader().withDelimiter(delim)); } else { return new CSVParser(input, CSVFormat.EXCEL.withDelimiter(delim)); } } catch (Exception e) { throw new ResourceException("FileResource: cannot read " + myPath + " as a CSV file."); } }
// obter as masterRules de cada site para cada atributo private String getMasterRule(Site site, Attribute attribute) { try (Reader in = new FileReader(Paths.PATH_INTRASITE + "/" + site.getPath() + "/result.csv")) { try (CSVParser parser = new CSVParser(in, CSVFormat.EXCEL.withHeader())) { for (CSVRecord record : parser) { if (record.get("ATTRIBUTE").equals(attribute.getAttributeID())) { if (record.get("RULE").equals("Attribute not found")) { return null; } return record.get("RULE"); } } } } catch (FileNotFoundException ex) { Logger.getLogger(CheckDistanceExpectedMapping.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(CheckDistanceExpectedMapping.class.getName()).log(Level.SEVERE, null, ex); } return null; }
public void processCsvFile(String csvFile) throws IOException { if (csvFile != null && !csvFile.isEmpty()) { fileName = csvFile; } File f = new File(getCsvPath()); CSVParser parser = CSVParser.parse(f, Charset.forName("UTF-8"), CSVFormat.EXCEL.withHeader()); for (CSVRecord record : parser) { String serialNumber = record.get("Serial Number"); boolean success = false; if (matchOnly) { MobileDeviceMatch match = findMobileDevice(serialNumber); if (match != null) { success = true; } } else { String deviceName = record.get("iPad Name"); String assetTag = record.get("Asset Tag"); String building = record.get("Building"); String room = record.get("Room"); String department = record.get("Department"); if (serialNumber != null && !serialNumber.isEmpty() && assetTag != null && !assetTag.isEmpty() && deviceName != null && !deviceName.isEmpty()) { success = updateMobileDevice(serialNumber, deviceName, assetTag, building, room, department); } else { System.out.println("bad record at line " + String.valueOf(record.getRecordNumber())); continue; } } System.out.println(serialNumber + "\t" + String.valueOf(success)); } }
public LinkedList<IRule> loadFromCsv() throws IOException { InputStream ins = this.getClass().getClassLoader().getResourceAsStream(ruleCsvPath); InputStreamReader inr = new InputStreamReader(ins); CSVParser parser = new CSVParser(inr, CSVFormat.EXCEL.withHeader()); Iterable<CSVRecord> records = parser.getRecords(); LinkedList<IRule> lst = new LinkedList<IRule>(); for (CSVRecord record : records) { Rule rule = new Rule(); RuleConditionScript ruleCondition = new RuleConditionScript(); // set conditions ruleCondition.setExpression(record.get(COLUMN_EXPRESSION)); rule.setiCondition(ruleCondition); rule.setRuleName(record.get(COLUMN_RULE_NAME)); rule.setRuleGroup(record.get(COLUMN_GROUP_NAME)); // set action RuleActionScript action = new RuleActionScript(); rule.setiAction(action); // add rule lst.add(rule); } return lst; }