précédent | suivant | table des matières
Une instance de la classe PipedInputStream doit être connectée à un objet PipedOutputStream.
Les données sont lues à partir d'un objet PipedInputStream par un thread et les données sont écrites dans l'objet PipedOutputStream correspondant par un autre thread. On parle de pipe.
1 Constructeurs :
PipedInputStream () |
Crée un PipedInputStream non connecté à un PipedOutputStream. |
PipedInputStream (PipedOutputStream pos) |
Crée un PipedInputStream connecté à pos. |
2 Les méthodes
Les méthodes sont les méthodes héritées de InputStream plus la méthode connect :
void connect (PipedOutputStream pos) |
Connecte le PipedInputStream à pos. Lève une IOException si le PipedInputStream est déjà connecté. |
3 Exemple :
public class Sortie extends Thread {
PipedOutputStream sortie;
DataOutputStream s;
public Sortie(PipedOutputStream sortie) {<
super();
this.sortie = sortie;
s = new DataOutputStream(sortie);
}
public void run(){
try {
for( int k = 0; k<20; ++k){
int i = (int)(Math.random()*100);
s.writeInt(i);
System.out.println(">>> "+i);
sleep(200);
}
s.close();
}catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} |
public class Entree extends Thread {
PipedInputStream entree;
DataInputStream d;
public Entree(PipedInputStream entree) {
super();
this.entree = entree;
d = new DataInputStream(entree);
}
public void run(){
try {
while(true){
int i = d.readInt();
System.out.println(" "+i+" >>>");
}
} catch (EOFException e) {
System.out.println("FIN des entrées !");
}catch (IOException e) {
e.printStackTrace();
}
}
} |
|
|
||
![]() |
![]() |