logo

Classe Java.io.PipedOutputStream en Java

Classe Java.io.PipedInputStream en Java

Classe io.PipedOutputStream en Java' src='//techcodeview.com/img/misc/33/java-io-pipedoutputstream-class-in-java.webp' title=


Tuyaux dans IO, fournissez un lien entre deux threads exécutés dans JVM en même temps. Les tuyaux sont donc utilisés à la fois comme source ou comme destination.  

  • PipedInputStream est également redirigé vers PipedOutputStream. Ainsi, les données peuvent être écrites à l'aide de PipedOutputStream et peuvent être écrites à l'aide de PipedInputStream. Mais l'utilisation des deux threads en même temps créera une impasse pour les threads.
  • PipedOutputStream envoie la fin du canal. Les données sont écrites dans PipedOutputStream. Le canal est dit cassé si le PipedInputStream qui lisait les données n'est plus.

Déclaration:   



public class PipedOutputStream  
extends OutputStream

Constructeur:   

  • PipedOutputStream() : crée un PipedOutputStream auquel il n'est pas connecté.
  • PipedOutputStream(PipedOutputStream inStream) : crée un PipedOutputStream qu'il 
    est connecté à PipedInputStream - 'inStream'.

Méthodes : 

write() : java.io.PipedOutputStream.write(int octet) écrit un octet spécifié dans le flux de sortie canalisé. 

Syntaxe : 

    public void write(int byte)     

Parameters :
byte : byte to be written

Return : void
Exception :
-> IOException : if in case IO error occurs.

write(byte[] buffer int offset int maxlen) : java.io.PipedOutputStream.write(byte[] buffer int offset int maxlen) écrit maxlen octets des données du tampon vers le flux de sortie canalisé. La méthode se bloque si aucun octet n’est écrit dans le Stream. 

Syntaxe : 

    public void write(byte[] buffer int offset int maxlen)     

Parameters :
buffer : data of the buffer
offset : starting in the destination array - 'buffer'.
maxlen : maximum length of array to be read

Return : void
Exception :
-> IOException : if in case IO error occurs.
Java
// Java program illustrating the working of PipedInputStream // write(byte[] buffer int offset int maxlen) import java.io.*; public class NewClass {  public static void main(String[] args) throws IOException  {  PipedInputStream geek_input = new PipedInputStream();  PipedOutputStream geek_output = new PipedOutputStream();  // Use of connect() : connecting geek_input with geek_output  geek_input.connect(geek_output);  byte[] buffer = {'J' 'A' 'V' 'A'};  // Use of write(byte[] buffer int offset int maxlen)  geek_output.write(buffer 0 4);  int a = 5;  System.out.print('Use of write(buffer offset maxlen) : ');  while(a>0)  {  System.out.print(' ' + (char) geek_input.read());  a--;  }  } } 

Sortir: 

Use of write(buffer offset maxlen) : J A V A  
  • close() : java.io.PipedOutputStream.close() ferme le flux de sortie redirigé et libère les ressources allouées. 
    Syntaxe : 
public void close()  
Parameters :
--------------
Return :
void
Exception :
-> IOException : if in case IO error occurs.
  • connect (destination PipedInputStream) : java.io.PipedOutputStream.connect (destination PipedInputStream connecte le flux de sortie canalisé au flux d'entrée canalisé « destination » et dans le cas où « destination » est un canal avec un autre flux, une exception d'E/S est levée 
    Syntaxe : 
public void connect(PipedInputStream destination)  
Parameters :
destination : the Piped Input Stream to be connected to
Return :
void
Exception :
-> IOException : if in case IO error occurs.
  • flush() : java.io.PipedOutputStream.flush() vide le flux de sortie. 
    Syntaxe : 
public void flush()  
Parameters :
------------
Return :
void
Exception :
-> IOException : if in case IO error occurs.

Code Java illustrant le fonctionnement des méthodes de la classe PipedOutputStream : 

Java
// Java program illustrating the working of PipedInputStream // write() write(byte[] buffer int offset int maxlen) // close() flush() connect() import java.io.*; public class NewClass {  public static void main(String[] args) throws IOException  {  PipedInputStream geek_input = new PipedInputStream();  PipedOutputStream geek_output = new PipedOutputStream();  try  {  // Use of connect() : connecting geek_input with geek_output  geek_input.connect(geek_output);  // Use of write(int byte) :  geek_output.write(71);  geek_output.write(69);  geek_output.write(69);  geek_output.write(75);  geek_output.write(83);  // Use of flush() method :  geek_output.flush();  System.out.println('Use of flush() method : ');  int i = 5;  while(i > 0)  {  System.out.print(' ' + (char) geek_input.read());  i--;  }  // USe of close() method :  System.out.println('nClosing the Output stream');  geek_output.close();  }  catch (IOException except)  {  except.printStackTrace();  }  } } 

Sortir: 

Use of flush() method :   
G E E K S
Closing the Output stream


 

Créer un quiz