duminică, 2 septembrie 2012

Observer fisier.c


package pack;
import java.io.*;

public class Fisier extends Thread {
private Observat ob;
private Observator obs;
private int nrLines;
private int update=0;
private BufferedReader in;
public Fisier()
{
obs=new Observator();
ob=new Observat();
ob.addObserver(obs);
}
@SuppressWarnings("static-access")
public void run()
{
while(true){
try{
in=new BufferedReader(new FileReader("fisier.txt"));
nrLines=0;
String line=null;
while(in.ready())
{
if((line=in.readLine())!=null)
{
nrLines++;
}
}
}catch(IOException e)
{
System.out.println("Eroare la citirea din fisier");
}catch(NullPointerException e)
{
System.out.println("Pointer null");
}
if(nrLines<update)
{
ob.notificare((String)"Lipsa");
update=nrLines;
}
else
if(nrLines>update)
{
ob.notificare((String)"Adaugare");
update=nrLines;
}


try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
this.sleep(300);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}


package pack;

import java.util.Observable;

public class Observat extends Observable {
public void notificare(String mes)
{
//System.out.println();
setChanged();
notifyObservers((String)mes);
}

}
package pack;

import java.util.Observable;
import java.util.Observer;

public class Observator implements Observer {
public void update(Observable o,Object arg1)
{
String a=(String)arg1;
if(a.equals("Lipsa"))
{
System.out.println("S-a sters o linie");
}
else
{
System.out.println("S-a adaugat o linie");
}
}
}
package pack;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Fisier fir=new Fisier();
fir.start();
}

}


Niciun comentariu:

Trimiteți un comentariu