Java'da PipedReader sınıfı bir parçasıdır java.io paket ve bir kanaldan karakter verilerini okumak için kullanılır. Bu sınıf, bir iş parçacığının bir PipedWriter kullanarak veri yazdığı ve diğer iş parçacığının bunu kullanarak okuduğu iş parçacıkları arası iletişime izin verir. PipedReader.
PipedReader Sınıfının Özellikleri:
- Verilerin bir boru aracılığıyla okunmasına olanak sağlar.
- PipedWriter'dan alınan verileri depolamak için bir arabellek kullanır.
- Verilerin iş parçacıkları arasında güvenli bir şekilde aktarıldığından emin olmak için PipedWriter ile birlikte çalışır.
- Boru kırılırsa hata verir.
Java'da Boru Nedir?
Java'da iki iş parçacığını birbirine bağlamak için bir boru kullanılır. Bir iş parçacığı boru üzerinden veri göndermek için kullanılır ve diğer iş parçacığı verileri okur. Verileri gönderen iş parçacığı durursa veya çökerse borunun bozuk olduğu kabul edilir.
PipedReader Sınıfının Beyanı
PipedReader sınıfının beyanı şöyledir:
genel sınıf PipedReader, Reader'ı genişletiyor
Uygulanan Tüm Arayüzler:
- Kapatılabilir: Bu arayüz, akışı kapatmak ve artık ihtiyaç duyulmadığında kaynakları serbest bırakmak için kullanılır.
- Otomatik Kapatılabilir: Bu arayüz, kaynakları dene ifadelerinde otomatik kaynak yönetimine olanak tanır.
- Okunabilir: Bu arayüz verilerin akıştan okunmasına olanak sağlar.
PipedReader Yapıcıları
Bu sınıf, yardımıyla bu sınıfın nesnesini farklı şekillerde yaratabileceğimiz dört kurucudan oluşur. Bu sınıfta mevcut olan yapıcılar şunlardır:
1. PipedReader(): Bu yapıcı henüz herhangi bir yazıcıya bağlı olmayan bir PipedReader oluşturur.
Sözdizimi:
c programı dize dizisi
genel PipedReader()
2. PipedReader(int pipeSize): Bu yapıcı, belirtilen kanal boyutuna sahip aPipedREAder'ı oluşturur.
Sözdizimi:
genel PipedReader(int pSize)
3. PipedReader(PipedWriter kaynağı): Bu yapıcı, PipedWriterStream kaynağına bağlı bir PipedReader oluşturur.
genel PipedReader(PipedWriter src)
ona göre dize
4. PipedReader(PipedWriter src int pipeSize): Bu yapıcı, belirtilen boyutta ve verilen PipedWriter'a bağlı bir PipedReader oluşturur.
Sözdizimi:
genel PipedReader(PipedWriter src int pSize)
arduino'nun fonksiyonları
Java Borulu Okuyucu Yöntemleri
Aşağıdaki resimde PipedReader sınıfının yöntemleri gösterilmektedir.

Şimdi her yöntemi tek tek ayrıntılı olarak tartışacağız:
1. oku(): Bu yöntem PipedReader'dan bir sonraki karakteri almak için kullanılır. Bir hata oluşması durumunda okunacak veri bulunana kadar bloke eder.
Sözdizimi:
public int read() IOException'ı atar
- Parametre: Bu yöntem herhangi bir parametre almaz.
- İade Türü: Bu yöntem bir sonraki karakteri bir tamsayı olarak döndürür veya akışın sonuna gelindiğinde -1 değerini döndürür.
Örnek:
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()); } }
Çıkış
Read: G Read: E Read: K
2. read(char[] carray int offset int maxlen): Bu yöntem, PipedReader Akışından karakter dizisine maksimum karaktere kadar okumak için kullanılır. Akışın sonuna ulaşıldığında veya istisna atıldığında yöntem bloke olur.
Sözdizimi:
public int read(char[] carray int offset int maxlen) IOException'ı atar
- Parametre: Bu yöntem aşağıda listelenen üç parametreyi içerir:
- : Verilerin okunacağı tampondur.
- telafi etmek: Dizideki başlangıç konumudur
- maksimum: Dizide okunacak maksimum karakter sayısı.
- İade Türü: Bu yöntem, verinin maksimum baytını bir tamsayı değeri olarak döndürür veya akışın sonuna ulaşıldığında -1 değerini döndürür
Örnek:
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); } } }
Çıkış
Read characters: GEKS
normal formlar
3. kapat(): Bu yöntem PipedReader'ı kapatmak için kullanılır.
Sözdizimi:
public void close() IOException'ı atar
- Parametre: Bu yöntem herhangi bir parametre almaz
- İade Türü: Bu yöntem hiçbir şey döndürmez
Örnek:
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.'); } }
Çıkış
Stream closed.
4. hazır(): Bu yöntem, akışın okunmaya hazır olup olmadığını kontrol etmek için kullanılır.
Java'daki tür
Sözdizimi:
public boolean Ready(), IOException'ı atar
- Parametre: Bu yöntem herhangi bir parametre almaz
- İade Türü: Bu yöntem, akış okunmaya hazırsa true değerini döndürür, aksi takdirde false değerini döndürür.
Örnek:
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()); } }
Çıkış
Stream is ready to be read: true
5. kapat(): Bu yöntem PipedReader akışlarını kapatmak için kullanılır.
Sözdizimi:
genel geçersiz kapatma ()
- Parametre: Bu yöntem herhangi bir parametre almaz.
- İade Türü: Bu yöntem hiçbir şey döndürmez.
Örnek:
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(); } } }
Çıkış
Read: A Stream closed.Test Oluştur