IT-Academy

Citac

Aug 14th, 2016
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.69 KB | None | 0 0
  1. package sk.academy.it;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6. import java.util.logging.Level;
  7. import java.util.logging.Logger;
  8.  
  9. /**
  10.  * Trieda na citanie dat z textoveho suboru
  11.  *
  12.  * @author IT Academy
  13.  */
  14. public class C_Citac extends Thread {
  15.  
  16.     // Citanie suborov
  17.     FileReader fr;
  18.     BufferedReader in;
  19.     String menoSuboru;
  20.     static long suma = 0;
  21.     static boolean hotovo = false;
  22.     C_Citac(String meno) {
  23.         super("Vlakno pre citanie");
  24.         menoSuboru = meno;
  25.     }
  26.     // Otvarame subor a ukladame meno suboru,
  27.     // ktore sa ma citat
  28.    
  29.    
  30.     @Override
  31.     public void run() {
  32.         String riadok;
  33.         try {
  34.             fr = new FileReader(menoSuboru);
  35.             in = new BufferedReader(fr);
  36.             // readLine() cita riadky v sobure
  37.             while ((riadok = in.readLine()) != null) {
  38.                 //
  39.                 Thread.sleep(10);
  40.                 suma += Integer.parseInt(riadok);
  41.                 // Vlakno sa dobrovolne vzdava prava bezat a predava
  42.                 // riadenie dalsiemu vlaknu. Az dalsie vlakno opet preda
  43.                 // riadenie, rozbehne sa prve vlakno od miesto, kde sa odovzdalo riadenie
  44.                 Thread.yield();
  45.                 //Thread.
  46.             }
  47.             fr.close();
  48.             // Ak precitatme cely subor nastavime si pomocnu premennu na true
  49.             hotovo = true;
  50.         } catch (IOException e) {
  51.             System.out.println("Chyba v subore!");
  52.             hotovo = true;
  53.         } catch (InterruptedException ex) {
  54.             Logger.getLogger(C_Citac.class.getName()).log(Level.SEVERE, null, ex);
  55.         }
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment