logo

Клас на Java PipedReader

The Клас PipedReader в Java е част от java.io пакет и се използва за четене на символни данни от канал. Този клас позволява комуникация между нишки, където една нишка записва данни с помощта на PipedWriter, а друга ги чете с помощта PipedReader.

Характеристики на класа PipedReader:

  • Позволява четене на данни през тръба.
  • Той използва буфер за съхраняване на данни, получени от PipedWriter.
  • Работи с PipedWriter, за да се увери, че данните се прехвърлят безопасно между нишките.
  • Ако тръбата се счупи, извежда грешка.

Какво е канал в Java?

В Java тръба се използва за свързване на две нишки. Едната нишка се използва за изпращане на данни през канала, а другата нишка чете данните. Ако нишката, която изпраща данните, спре или се срине, каналът се счита за счупен.



Декларация на клас PipedReader

Декларацията на класа PipedReader е:

публичен клас PipedReader разширява Reader

Всички внедрени интерфейси:

алгоритъм на кабината
  • Затваряне: Този интерфейс се използва за затваряне на потока и освобождаване на ресурси, когато вече не са необходими.
  • Автоматично затваряне: Този интерфейс позволява автоматично управление на ресурсите в изрази за опит с ресурси.
  • Четимо: Този интерфейс позволява да се четат данни от потока.

Конструктори на PipedReader

Този клас се състои от четири конструктора, с помощта на които можем да създадем обект от този клас по различни начини. Следните са наличните конструктори в този клас:

1. PipedReader(): Този конструктор създава PipedReader, който все още не е свързан с нито един писател.

Синтаксис:

публичен PipedReader()


2. PipedReader(int pipeSize): Този конструктор създава aPipedReader с определен размер на тръбата.

Синтаксис:

публичен PipedReader(int pSize)


3. PipedReader (PipedWriter src): Този конструктор създава PipedReader, който е свързан към PipedWriterStream src.

публичен PipedReader(PipedWriter src)

как да получите текуща дата в java


4. PipedReader(PipedWriter src int pipeSize): Този конструктор създава свързан PipedReader с определен размер и свързан към дадения PipedWriter.

Синтаксис:

public PipedReader(PipedWriter src int pSize)


Java PipedReaderMethods

Изображението по-долу демонстрира методите на класа PipedReader.

io.PipedReader Клас в Java' title=


конкатенационен низ в java

Сега ще обсъдим подробно всеки метод един по един:

1. прочетете(): Този метод се използва за получаване на следващия знак от PipedReader. Блокира, докато има данни за четене или възникне грешка.

Синтаксис:

public int read() хвърля IOException

  • Параметър: Този метод не приема никакъв параметър.
  • Тип връщане: Този метод връща следващия знак като цяло число или връща -1, ако е достигнат краят на потока.

Пример:

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

Изход
Read: G Read: E Read: K 


2. read(char[] carray int offset int maxlen): Този метод се използва за четене до maxlen знак от PipedReader Stream към масива от знаци. Методът блокира, ако бъде достигнат краят на потока или е хвърлено изключение.

Синтаксис:

public int read(char[] carray int offset int maxlen) хвърля IOException

  • Параметър: Този метод включва три параметъра, които са изброени по-долу:
    • керей: Това е буферът, в който ще бъдат прочетени данните.
    • офсет: Това е началната позиция в масива
    • макслен: Максималният брой знаци за четене в масива.
  • Тип връщане: Този метод връща maxlen байта от данните като цяло число или връща -1, ако е достигнат краят на потока

Пример:

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

Изход
Read characters: GEKS


мрежова топология

3. затвори (): Този метод се използва за затваряне на PipedReader.

Синтаксис:

public void close() хвърля IOException

mysql показва потребители
  • Параметър: Този метод не приема никакъв параметър
  • Тип връщане: Този метод не връща нищо

Пример:

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.');  } } 

Изход
Stream closed. 


4. готов(): Този метод се използва за проверка дали потокът е готов за четене.

Синтаксис:

public boolean ready() хвърля IOException

  • Параметър: Този метод не приема никакъв параметър
  • Тип връщане: Този метод връща true, ако потокът е готов за четене, в противен случай връща false.

Пример:

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

Изход
Stream is ready to be read: true 


5. затвори (): Този метод се използва за затваряне на потоците на PipedReader.

Синтаксис:

публично невалидно затваряне()

  • Параметър: Този метод не приема никакъв параметър.
  • Тип връщане: Този метод не връща нищо.

Пример:

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

Изход
Read: A Stream closed. 
Създаване на тест