Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hr.fer.oop.lab4.Zad2;
- import java.io.*;
- import java.nio.file.*;
- import java.nio.file.FileVisitResult;
- import java.nio.file.FileVisitor;
- import java.nio.file.Files;
- import java.nio.file.StandardOpenOption;
- import java.nio.file.attribute.BasicFileAttributes;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.TreeSet;
- public class LabByteReader implements FileVisitor{
- public static double billTotal = 0;
- public static double articlenm = 0;
- public static double billNm = 0;
- protected HashMap<String, String> articles;
- public LabByteReader(){
- articles = new HashMap<String, String>();
- }
- public HashMap<String, String> getArticles() {
- return articles;
- }
- @Override
- public FileVisitResult preVisitDirectory(Object dir, BasicFileAttributes attrs) throws IOException {
- return FileVisitResult.CONTINUE;
- }
- @Override
- public FileVisitResult visitFile(Object file, BasicFileAttributes attrs) throws IOException {
- System.out.println("reading file :"+file.toString());
- if(file.toString().endsWith("txt")){
- Artikl a;
- BufferedReader br = new BufferedReader(new InputStreamReader(Files.newInputStream((Path) file, StandardOpenOption.READ)));
- while(true){
- String line = br.readLine();
- line.trim();
- if(line.startsWith("UKUPNO")){
- String[] bla = line.split("\\s+");
- billTotal += Double.parseDouble(bla[1]);
- billNm++;
- break;
- }
- else if(!line.isEmpty() && !line.startsWith("Racun br") && !line.startsWith("Kupac:") && !line.startsWith("---") && !line.endsWith("---") && !line.startsWith("Proizvod")){
- String [] parts = line.split("\\s\\s\\s+");
- String[] kol = parts[2].split(" ");
- String values = parts[1].trim() +" "+ kol[0].trim();
- //System.out.println(kol[0].trim());
- if(articles.containsKey(parts[0])){
- String[] value = articles.get(parts[0]).split(" ");
- try {
- int nmb = Integer.parseInt(value[value.length - 1]);
- nmb += Integer.parseInt(kol[0]);
- String smth = parts[1].trim()+String.valueOf(nmb);
- articles.replace(parts[0], smth);
- }
- catch(Exception e){
- continue;
- }
- }
- else{
- articles.put(parts[0], values);
- }
- articlenm++;
- }
- }
- }
- return FileVisitResult.CONTINUE;
- }
- @Override
- public FileVisitResult visitFileFailed(Object file, IOException exc) throws IOException {
- return FileVisitResult.CONTINUE;
- }
- @Override
- public FileVisitResult postVisitDirectory(Object dir, IOException exc) throws IOException {
- return FileVisitResult.CONTINUE;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement