Java.io.PipedInputStream klase Java valodā

Java.io.PipedInputStream klase Java valodā
io.PipedInputStream klase Caurules IO nodrošina saiti starp diviem pavedieniem, kas vienlaikus darbojas JVM. Tāpēc caurules tiek izmantotas gan kā avots, gan galamērķis.
  • PipedInputStream tiek arī savienots ar PipedOutputStream. Tātad datus var rakstīt, izmantojot PipedOutputStream, un tos var rakstīt, izmantojot PipedInputStream. Taču, vienlaikus izmantojot abus pavedienus, pavedieni nonāks strupceļā.
  • Tiek uzskatīts, ka caurule ir pārrauta, ja pavediens, kas nodrošināja datu baitus pievienotajai cauruļvadu izvades straumei, vairs nav dzīvs.
Deklarācija:
public class PipedInputStream extends InputStream 
Konstruktors:
    PipedInputStream() : izveido PipedInputStream, ka tas nav savienots. PipedInputStream(int pSize) : izveido PipedInputStream, ka tas nav savienots ar norādīto caurules izmēru. PipedInputStream(PipedOutputStream outStream) : izveido PipedInputStream, kas ir savienots ar PipedOutputStream — "outStream". PipedInputStream(PipedOutputStream outStream int pSize) : izveido cauruļu ievades straumi, kas ir savienota ar cauruļu izvades straumi ar norādīto caurules izmēru.
Metodes:
    int lasīt (): Reads the next byte of data from this piped input stream.The value byte is returned as an int in the range 0 to 255. This method blocks until input data is available the end of the stream is detected or an exception is thrown. Java
       // Java program illustrating the working of read() method   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 read() method :      geek_output  .  write  (  71  );      System  .  out  .  println  (  'using read() : '     +     (  char  )  geek_input  .  read  ());      geek_output  .  write  (  69  );      System  .  out  .  println  (  'using read() : '     +     (  char  )  geek_input  .  read  ());      geek_output  .  write  (  75  );      System  .  out  .  println  (  'using read() : '     +     (  char  )  geek_input  .  read  ());      }      catch     (  IOException     except  )      {      except  .  printStackTrace  ();      }      }   }   
    Izvade:
    using read() : G using read() : E using read() : K 
    lasīt (baits [] buferis int offset int maxlen): java.io.PipedInputStream.read(baitu[] bufera int offset int maxlen) nolasa līdz pat lieliem baitiem datu no cauruļu ievades straumes uz buferu masīvu. Metode tiek bloķēta, ja tiek sasniegts straumes beigas vai tiek izdarīts izņēmums. Sintakse :
    public int read(byte[] buffer int offset int maxlen)   Parameters :    buffer : the destination buffer into which the data is to be read offset : starting in the destination array - 'buffer'. maxlen : maximum length of array to be read   Return :    next 'maxlen' bytes of the data as an integer value return -1 is end of stream is reached   Exception :   ->   IOException :   if in case IO error occurs. ->   NullPointerException :   if buffer is null. ->   IndexOutOfBoundsException :   if offset is -ve or maxlen is -ve or maxlen > buffer.length - offset.  
    saņemt (int baits): java.io.PipedInputStream.receive(int byte) saņem datu baitu. Ja ievade nav pieejama, metode tiek bloķēta. Sintakse :
    protected void receive(int byte)   Parameters :    byte : the bytes of the data received   Return :    void   Exception :   ->   IOException :   if in case IO error occurs or pipe is broken. 
    aizvērt () : java.io.PipedInputStream.close() aizver cauruļu ievades straumi un atbrīvo piešķirtos resursus. Sintakse :
    public void close()   Parameters :    --------------   Return :    void   Exception :   ->   IOException :   if in case IO error occurs. 
    savienojums (PipedOutputStream avots): java.io.PipedInputStream.connect (PipedOutputStream avots) savieno cauruļvadu ievades straumi ar "avota" cauruļvadu izvades straumi un gadījumā, ja "avots" ir caurules ar kādu citu straumes IO izņēmumu, tiek izmests Sintakse :
    public void connect(PipedOutputStream source)   Parameters :    source : the Piped Output Stream to be connected to   Return :    void   Exception :   ->   IOException :   if in case IO error occurs. 
    pieejams() : java.io.PipedInputStream.available() atgriež nr. baitu, ko var nolasīt no ievades straumes, faktiski nebloķējot. Sintakse :
    public int available()   Parameters :    -------------   Return :    no. of bytes that can be read from Input Stream without actually being blocked. 0 if the stream is already closed but by invoking close() method   Exception :   ->   IOException :   if in case IO error occurs. 
    Java programma, kas izskaidro PipedInputStream klases metožu darbību: Java
       // Java program illustrating the working of PipedInputStream   // connect() read(byte[] buffer int offset int maxlen)   // close() available()   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  );      geek_output  .  write  (  71  );      geek_output  .  write  (  69  );      geek_output  .  write  (  69  );      geek_output  .  write  (  75  );      geek_output  .  write  (  83  );      // Use of available() :      System  .  out  .  println  (  'Use of available() : '     +     geek_input  .  available  ());      // Use of read(byte[] buffer int offset int maxlen) :      byte  []     buffer     =     new     byte  [  5  ]  ;      // destination 'buffer'      geek_input  .  read  (  buffer       0       5  );      String     str     =     new     String  (  buffer  );      System  .  out  .  println  (  'Using read(buffer offset maxlen) : '     +     str  );      // USe of close() method :      System  .  out  .  println  (  'Closing the stream'  );      geek_input  .  close  ();      }      catch     (  IOException     except  )      {      except  .  printStackTrace  ();      }      }   }   
    Izvade:
    Use of available() : 5 Using read(buffer offset maxlen) : GEEKS Closing the stream 
    Next Article: Java.io.PipedOutputStream klase Java valodā Izveidojiet viktorīnu