The PipedReader-luokka Javassa on osa java.io paketti ja sitä käytetään merkkitietojen lukemiseen putkesta. Tämä luokka mahdollistaa säikeiden välisen viestinnän, jossa yksi säie kirjoittaa dataa käyttämällä PipedWriter-ohjelmaa ja toinen lukee sitä käyttämällä PipedReader.
PipedReader-luokan ominaisuudet:
- Se mahdollistaa tietojen lukemisen putken kautta.
- Se käyttää puskuria PipedWriteristä vastaanotettujen tietojen tallentamiseen.
- Se toimii PipedWriterin kanssa varmistaakseen, että tiedot siirretään turvallisesti säikeiden välillä.
- Jos putki katkeaa, se antaa virheen.
Mikä on putki Javassa?
Javassa käytetään putkea yhdistämään kaksi säiettä. Yhtä säiettä käytetään tiedon lähettämiseen putken läpi ja toinen lanka lukee tiedot. Jos dataa lähettävä lanka pysähtyy tai kaatuu, putken katsotaan katkenneeksi.
PipedReader-luokan ilmoitus
PipedReader-luokan ilmoitus on:
julkinen luokka PipedReader laajentaa Readeria
Kaikki toteutetut käyttöliittymät:
- Suljettava: Tätä käyttöliittymää käytetään streamin sulkemiseen ja resurssien vapauttamiseen, kun niitä ei enää tarvita.
- Automaattinen sulkeminen: Tämä käyttöliittymä mahdollistaa automaattisen resurssienhallinnan try-with-resurssit -lausekkeissa.
- Luettavissa: Tämä käyttöliittymä mahdollistaa tietojen lukemisen virrasta.
PipedReaderin rakentajat
Tämä luokka koostuu neljästä konstruktorista, joiden avulla voimme luoda tämän luokan objekteja eri tavoin. Tässä luokassa saatavilla olevat rakentajat:
1. PipedReader(): Tämä rakentaja luo PipedReaderin, jota ei ole vielä yhdistetty mihinkään kirjoittajaan.
armstrongin numero
Syntaksi:
julkinen PipedReader()
2. PipedReader(int pipeSize): Tämä rakentaja luo aPipedREaderin tietyllä putkikoolla.
Syntaksi:
julkinen PipedReader(int pSize)
3. PipedReader(PipedWriter src): Tämä rakentaja luo PipedReaderin, joka on yhdistetty PipedWriterStream src:hen.
julkinen PipedReader (PipedWriter src)
4. PipedReader(PipedWriter src int pipeSize): Tämä rakentaja luo yhdistetyn PipedReaderin, jonka koko on määritetty ja joka on linkitetty annettuun PipedWriteriin.
Syntaksi:
julkinen PipedReader (PipedWriter src int pSize)
Java PipedReaderMethods
Alla oleva kuva esittää PipedReader-luokan menetelmät.

Nyt aiomme keskustella jokaisesta menetelmästä yksitellen yksityiskohtaisesti:
1. lue(): Tätä menetelmää käytetään seuraavan merkin hakemiseen PipedReaderista. Se estää, kunnes on dataa luettavaksi tai tapahtuu virhe.
Syntaksi:
merkkijonojen lisääminen java
public int read() heittää IOExceptionin
- Parametri: Tämä menetelmä ei ota mitään parametreja.
- Palautustyyppi: Tämä menetelmä palauttaa seuraavan merkin kokonaislukuna tai palauttaa -1, jos virran loppu saavutetaan.
Esimerkki:
Java// Demonstrating the working // of read() method import java.io.*; public class GeeKs { public static void main(String[] args) throws IOException { PipedReader r = new PipedReader(); PipedWriter w = new PipedWriter(); // Connect the reader and writer r.connect(w); // Write data to the PipedWriter w.write(71); System.out.println('Read: ' + (char) r.read()); w.write(69); System.out.println('Read: ' + (char) r.read()); w.write(75); System.out.println('Read: ' + (char) r.read()); } }
Lähtö
Read: G Read: E Read: K
2. read(char[] carray int offset int maxlen): Tätä menetelmää käytetään lukemaan enintään merkkiä PipedReader Streamista merkkijonoon. Menetelmä estää, jos virran loppu saavutetaan tai tehdään poikkeus.
Syntaksi:
public int read(char[] carray int offset int maxlen) heittää IOExceptionin
- Parametri: Tämä menetelmä sisältää kolme parametria, jotka on lueteltu alla:
- carray: Se on puskuri, johon tiedot luetaan.
- offset: Se on lähtöpaikka taulukossa
- maxlen: Matriisiin luettavien merkkien enimmäismäärä.
- Palautustyyppi: Tämä menetelmä palauttaa enintään tavua dataa kokonaislukuna tai palauttaa -1, kun virran loppu saavutetaan
Esimerkki:
Java// Demonstrating the working // of read(char[] carray int offset int maxlen) import java.io.*; public class Geeks { public static void main(String[] args) throws IOException { PipedReader r = new PipedReader(); PipedWriter w = new PipedWriter(); r.connect(w); // Write data to PipedWriter w.write(71); // G w.write(69); // E w.write(75); // K w.write(83); // S // Read data into an array char[] b = new char[5]; r.read(b 0 5); System.out.print('Read characters: '); for (char c : b) { System.out.print(c); } } }
Lähtö
Read characters: GEKS
3. sulje(): Tätä menetelmää käytetään PipedReaderin sulkemiseen.
Syntaksi:
public void close() heittää IOExceptionin
estää YouTube-mainokset Androidissa
- Parametri: Tämä menetelmä ei ota mitään parametreja
- Palautustyyppi: Tämä menetelmä ei palauta mitään
Esimerkki:
Java// Demonstrating the working // of close() method import java.io.*; public class Geeks { public static void main(String[] args) throws IOException { PipedReader r = new PipedReader(); PipedWriter w = new PipedWriter(); r.connect(w); w.write(71); // Close the reader r.close(); System.out.println('Stream closed.'); } }
Lähtö
Stream closed.
4. valmis(): Tätä menetelmää käytetään tarkistamaan, onko virta valmis luettavaksi.
Syntaksi:
public boolean ready() heittää IOExceptionin
- Parametri: Tämä menetelmä ei ota mitään parametreja
- Palautustyyppi: Tämä menetelmä palauttaa tosi, jos virta on valmis luettavaksi, muuten se palauttaa epätosi.
Esimerkki:
Java// Demonstrating the working // of ready() method import java.io.*; public class Geeks { public static void main(String[] args) throws IOException { PipedReader r = new PipedReader(); PipedWriter w = new PipedWriter(); r.connect(w); w.write(71); // Check if the stream is ready to be read System.out.println('Stream is ready to be read: ' + r.ready()); } }
Lähtö
Stream is ready to be read: true
5. sulje(): Tätä menetelmää käytetään PipedReader-virtojen sulkemiseen.
Syntaksi:
julkinen void sulje()
- Parametri: Tämä menetelmä ei ota mitään parametreja.
- Palautustyyppi: Tämä menetelmä ei palauta mitään.
Esimerkki:
Java// Demonstrating the working // of close() method import java.io.*; public class Geeks{ public static void main(String[] args) { try { // Create a PipedReader and PipedWriter PipedReader r = new PipedReader(); PipedWriter w = new PipedWriter(); // Connect the PipedReader to the PipedWriter r.connect(w); // Write a character to the PipedWriter w.write('A'); // Read and print the character from the PipedReader System.out.println('Read: ' + (char) r.read()); // Output: A // Close the PipedReader stream r.close(); System.out.println('Stream closed.'); } catch (IOException e) { e.printStackTrace(); } } }
Lähtö
Read: A Stream closed.Luo tietokilpailu