logo

Java.io.PipedOutputStream-klasse in Java

Java.io.PipedInputStream-klasse in Java

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


Pijpen in IO zorgen voor een link tussen twee threads die tegelijkertijd in JVM draaien. Leidingen worden dus zowel als bron als bestemming gebruikt.  

  • PipedInputStream wordt ook doorgesluisd met PipedOutputStream. Gegevens kunnen dus worden geschreven met PipedOutputStream en kunnen worden geschreven met PipedInputStream. Maar als u beide threads tegelijkertijd gebruikt, ontstaat er een impasse voor de threads.
  • PipedOutputStream verzendt het einde van de pijp. Gegevens worden naar PipedOutputStream geschreven. Er wordt gezegd dat de pijp kapot is als de PipedInputStream die de gegevens aan het lezen was, niet meer is.

Verklaring:   



public class PipedOutputStream  
extends OutputStream

Constructeur:   

  • PipedOutputStream() : creëert een PipedOutputStream waarmee deze niet is verbonden.
  • PipedOutputStream(PipedOutputStream inStream) : creëert een PipedOutputStream die het 
    is verbonden met PipedInputStream - 'inStream'.

Methoden: 

write() : java.io.PipedOutputStream.write(int-byte) schrijft een opgegeven byte naar de Piped Output Stream. 

Syntaxis: 

    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) schrijft maxlen bytes van de gegevens van de buffer naar de Piped Output Stream. De methode blokkeert als er geen bytes naar de stream worden geschreven. 

naam van de Amerikaanse stad

Syntaxis: 

    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--;  }  } } 

Uitgang: 

Python programmalijst
Use of write(buffer offset maxlen) : J A V A  
  • close() : java.io.PipedOutputStream.close() sluit de Piped Output Stream en geeft de toegewezen bronnen vrij. 
    Syntaxis: 
public void close()  
Parameters :
--------------
Return :
void
Exception :
-> IOException : if in case IO error occurs.
  • connect(PipedInputStream-bestemming): java.io.PipedOutputStream.connect(PipedInputStream-bestemming verbindt de Piped Output Stream met de 'bestemming' Piped Input Stream en in het geval dat 'bestemming' pijpen is met een andere stream, wordt er een IO-uitzondering gegenereerd 
    Syntaxis: 
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() spoelt de uitvoerstroom door. 
    Syntaxis: 
public void flush()  
Parameters :
------------
Return :
void
Exception :
-> IOException : if in case IO error occurs.

Java-code die de werking van PipedOutputStream-klassemethoden illustreert: 

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();  }  } } 

Uitgang: 

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


 

Quiz maken