Advertisement
Guest User

Untitled

a guest
Dec 11th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.20 KB | None | 0 0
  1. package hr.fer.oop.lab4.Zad2;
  2.  
  3. import java.io.*;
  4. import java.nio.file.*;
  5. import java.nio.file.FileVisitResult;
  6. import java.nio.file.FileVisitor;
  7. import java.nio.file.Files;
  8. import java.nio.file.StandardOpenOption;
  9. import java.nio.file.attribute.BasicFileAttributes;
  10. import java.util.HashMap;
  11. import java.util.Map;
  12. import java.util.TreeSet;
  13.  
  14. public class LabByteReader implements FileVisitor{
  15.  
  16.     public static double billTotal = 0;
  17.     public static double articlenm = 0;
  18.     public static  double billNm = 0;
  19.     protected HashMap<String, String> articles;
  20.  
  21.     public LabByteReader(){
  22.         articles = new HashMap<String, String>();
  23.     }
  24.  
  25.     public HashMap<String, String> getArticles() {
  26.         return articles;
  27.     }
  28.  
  29.     @Override
  30.     public FileVisitResult preVisitDirectory(Object dir, BasicFileAttributes attrs) throws IOException {
  31.         return FileVisitResult.CONTINUE;
  32.     }
  33.  
  34.     @Override
  35.     public FileVisitResult visitFile(Object file, BasicFileAttributes attrs) throws IOException {
  36.         System.out.println("reading file :"+file.toString());
  37.         if(file.toString().endsWith("txt")){
  38.             Artikl a;
  39.             BufferedReader br = new BufferedReader(new InputStreamReader(Files.newInputStream((Path) file, StandardOpenOption.READ)));
  40.             while(true){
  41.                 String line = br.readLine();
  42.                 line.trim();
  43.                 if(line.startsWith("UKUPNO")){
  44.                     String[] bla = line.split("\\s+");
  45.                     billTotal += Double.parseDouble(bla[1]);
  46.                     billNm++;
  47.                     break;
  48.                 }
  49.                 else if(!line.isEmpty() && !line.startsWith("Racun br") && !line.startsWith("Kupac:") && !line.startsWith("---") && !line.endsWith("---") && !line.startsWith("Proizvod")){
  50.                     String [] parts = line.split("\\s\\s\\s+");
  51.                     String[] kol = parts[2].split(" ");
  52.                     String values = parts[1].trim() +"  "+ kol[0].trim();
  53.                     //System.out.println(kol[0].trim());
  54.                     if(articles.containsKey(parts[0])){
  55.                         String[] value  = articles.get(parts[0]).split("  ");
  56.                         try {
  57.                             int nmb = Integer.parseInt(value[value.length - 1]);
  58.                             nmb += Integer.parseInt(kol[0]);
  59.                             String smth = parts[1].trim()+String.valueOf(nmb);
  60.                             articles.replace(parts[0], smth);
  61.                         }
  62.                         catch(Exception e){
  63.                             continue;
  64.                         }
  65.                     }
  66.                     else{
  67.                         articles.put(parts[0], values);
  68.                     }
  69.                     articlenm++;
  70.                 }
  71.             }
  72.         }
  73.  
  74.         return FileVisitResult.CONTINUE;
  75.     }
  76.  
  77.     @Override
  78.     public FileVisitResult visitFileFailed(Object file, IOException exc) throws IOException {
  79.         return FileVisitResult.CONTINUE;
  80.     }
  81.  
  82.     @Override
  83.     public FileVisitResult postVisitDirectory(Object dir, IOException exc) throws IOException {
  84.         return FileVisitResult.CONTINUE;
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement