Advertisement
Domy131097

Praksa

Oct 28th, 2018
134
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package hr.siemenscvc.praksa.dominiktkalčec.zadatak10;
  2.  
  3. import java.io.File;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileReader;
  6. import java.io.IOException;
  7. import java.util.Scanner;
  8.  
  9. import java.io.BufferedReader;
  10.  
  11.  
  12. public class PretrazivanjeDatoteka {
  13.  
  14.     public static void main(String[] args) {
  15.         String uneseniPodaci[] = new String[2];
  16.        
  17.         uneseniPodaci = unosTrazenihPodataka();
  18.         pretraziDirektorij(uneseniPodaci[0], uneseniPodaci[1]);
  19.     }
  20.  
  21.     public static String[] unosTrazenihPodataka() {
  22.         String uneseniPodaci[] = new String[2];
  23.         Scanner ulaz = new Scanner(System.in);
  24.  
  25.         System.out.println("Unesite putanju direktorija u kojoj želite pretražiti datoteke:");
  26.         try {
  27.             uneseniPodaci[0] = ulaz.next();
  28.         }catch(Exception greska) {
  29.             System.err.println("Pogrešan unos.");
  30.             System.exit(0);
  31.         }
  32.         ulaz.nextLine();
  33.         System.out.println("Unesite tekstualnu frazi koju tražite:");
  34.         try {
  35.             uneseniPodaci[1] = ulaz.nextLine();
  36.         }catch(Exception greska) {
  37.             System.err.println("Pogrešan unos.");
  38.             System.exit(0);
  39.         }
  40.        
  41.         ulaz.close();
  42.         return uneseniPodaci;
  43.     }
  44.    
  45.     public static void pretraziDirektorij(String putanjaDirektorija, String unesenaFraza) {
  46.         File direktorij = new File(putanjaDirektorija);
  47.         try {
  48.             if (direktorij.exists()) {
  49.                 File []listaDatoteka = direktorij.listFiles();
  50.                
  51.                 for(File i : listaDatoteka) {
  52.                     if(i.getName().endsWith(".txt") && i.isFile()) {
  53.                         pretraziDatoteku(i.getPath(), unesenaFraza);
  54.                     }
  55.                 }
  56.             }
  57.         }catch(NullPointerException g) {
  58.             System.err.println("Direktorij nije pronađen.");
  59.             System.exit(0);
  60.         }
  61.     }
  62.    
  63.     public static void pretraziDatoteku(String putanjaDatoteke, String unesenaFraza) {
  64.         String ucitanaRecenica = null;
  65.         File datoteka = new File(putanjaDatoteke);
  66.         BufferedReader br = null;
  67.        
  68.         try {
  69.             FileReader fr = new FileReader(datoteka);
  70.             br = new BufferedReader(fr);
  71.            
  72.             while( (ucitanaRecenica = br.readLine()) != null ) {
  73.                 if(ucitanaRecenica.contains(unesenaFraza)) {
  74.                     System.out.println(datoteka.getName());
  75.                     break;
  76.                 }
  77.             }
  78.         } catch (FileNotFoundException e) {
  79.             System.err.println("Datoteka " + datoteka.toString() + " nije pronađena.");
  80.         } catch (IOException e) {
  81.             System.err.println("Datoteku " + datoteka.toString() + " nije moguće otvoriti.");
  82.         }
  83.         finally {
  84.             try {
  85.                 br.close();
  86.             } catch (IOException e) {
  87.                 System.err.println("Nije moguće zatvoriti " + datoteka.toString() + " datoteku.");
  88.                 System.exit(0);
  89.             }
  90.             catch(NullPointerException ex) {
  91.                 System.err.println("Datoteka " + datoteka.toString() + " nije ni otvorena.");
  92.                 System.exit(0);
  93.             }
  94.         }
  95.     }
  96. }
Advertisement
RAW Paste Data Copied
Advertisement