Јава.ио.ПипедИнпутСтреам класа у Јави
цеви у ИО обезбеђују везу између две нити које раде у ЈВМ-у у исто време. Дакле, цеви се користе и као извор и као одредиште.
- ПипедИнпутСтреам се такође преноси са ПипедОутпутСтреам. Дакле, подаци се могу писати помоћу ПипедОутпутСтреам-а и могу се писати помоћу ПипедИнпутСтреам-а. Али коришћење обе нити у исто време ће створити застој за нити.
- ПипедОутпутСтреам шаље крај цеви. Подаци се записују у ПипедОутпутСтреам. Каже се да је цев прекинута ако ПипедИнпутСтреам који је читао податке више не постоји.
Декларација:
public class PipedOutputStream
extends OutputStream
Конструктор:
- ПипедОутпутСтреам() : креира ПипедОутпутСтреам који није повезан.
- ПипедОутпутСтреам(ПипедОутпутСтреам инСтреам) : креира ПипедОутпутСтреам који је
је повезан са ПипедИнпутСтреам - 'инСтреам'.
Методе:
врите() : јава.ио.ПипедОутпутСтреам.врите(инт бите) уписује одређени бајт у цевоводни излазни ток.
Синтакса:
public void write(int byte)
Parameters :
byte : byte to be written
Return : void
Exception :
-> IOException : if in case IO error occurs.
врите(бите[] буффер инт оффсет инт маклен) : јава.ио.ПипедОутпутСтреам.врите(бите[] буффер инт оффсет инт маклен) уписује максималне бајтове података из бафера у цевоводни излазни ток. Метод се блокира ако ниједан бајт није уписан у ток.
Синтакса:
public void write(byte[] buffer int offset int maxlen)Java
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 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--; } } }
Излаз:
Use of write(buffer offset maxlen) : J A V A
- цлосе() : јава.ио.ПипедОутпутСтреам.цлосе() затвара цевоводни излазни ток и ослобађа додељене ресурсе.
Синтакса:
public void close()
Parameters :
--------------
Return :
void
Exception :
-> IOException : if in case IO error occurs.
- цоннецт(ПипедИнпутСтреам одредиште) : јава.ио.ПипедОутпутСтреам.цоннецт(ПипедИнпутСтреам одредиште повезује цевоводни излазни ток са 'одредиштем' цевоводним улазним током и у случају да је 'одредиште' цеви са неким другим ИО-ом тока избацује се изузетак
Синтакса:
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.
- флусх() : јава.ио.ПипедОутпутСтреам.флусх() испира излазни ток.
Синтакса:
public void flush()
Parameters :
------------
Return :
void
Exception :
-> IOException : if in case IO error occurs.
Јава код који илуструје рад метода класе ПипедОутпутСтреам:
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(); } } }
Излаз:
Use of flush() method :
G E E K S
Closing the Output stream