logo

Clasa Java.io.PipedOutputStream în Java

Clasa Java.io.PipedInputStream în Java

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


Conducte în IO oferă o legătură între două fire care rulează în JVM în același timp. Deci, țevile sunt folosite atât ca sursă, cât și ca destinație.  

  • PipedInputStream este, de asemenea, canalizat cu PipedOutputStream. Deci datele pot fi scrise folosind PipedOutputStream și pot fi scrise folosind PipedInputStream. Dar utilizarea ambelor fire în același timp va crea un blocaj pentru fire.
  • PipedOutputStream trimite capătul conductei. Datele sunt scrise în PipedOutputStream. Se spune că conducta este ruptă dacă PipedInputStream care a citit datele nu mai există.

Declaraţie:   



public class PipedOutputStream  
extends OutputStream

Constructor:   

  • PipedOutputStream() : creează un PipedOutputStream care nu este conectat.
  • PipedOutputStream(PipedOutputStream inStream): creează un PipedOutputStream pe care îl 
    este conectat la PipedInputStream - 'inStream'.

Metode: 

write(): java.io.PipedOutputStream.write(int byte) scrie un octet specificat în fluxul de ieșire pipetă. 

Sintaxa: 

    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) scrie maxlen octeți ai datelor din buffer în fluxul de ieșire piperat. Metoda se blochează dacă nu sunt scrise octeți în flux. 

Sintaxa: 

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

Ieșire: 

Use of write(buffer offset maxlen) : J A V A  
  • close() : java.io.PipedOutputStream.close() închide fluxul de ieșire pipetă și eliberează resursele alocate. 
    Sintaxa: 
public void close()  
Parameters :
--------------
Return :
void
Exception :
-> IOException : if in case IO error occurs.
  • connect (destinație PipedInputStream): java.io.PipedOutputStream.connect (destinație PipedInputStream) conectează fluxul de ieșire canalizat la fluxul de intrare canalizat „destinație” și în cazul în care „destinația” este conducte cu o altă excepție IO de flux este aruncată 
    Sintaxa: 
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() elimină fluxul de ieșire. 
    Sintaxa: 
public void flush()  
Parameters :
------------
Return :
void
Exception :
-> IOException : if in case IO error occurs.

Cod Java care ilustrează funcționarea metodelor clasei 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();  }  } } 

Ieșire: 

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


 

Creați un test