Bu eğiticide, bir örnek yardımıyla Java InputStream sınıfı ve yöntemleri hakkında bilgi edineceğiz.
InputStream
Sınıf java.io
paketi bayt bir giriş akışı temsil eden bir arka üst sınıf bir.
Yana InputStream
soyut bir sınıftır, kendi başına kullanışlı değildir. Bununla birlikte, alt sınıfları verileri okumak için kullanılabilir.
InputStream alt sınıfları
İşlevselliğini InputStream
kullanmak için alt sınıflarını kullanabiliriz. Onlardan bazıları:
- FileInputStream
- ByteArrayInputStream
- ObjectInputStream
Bir sonraki derste tüm bu alt sınıflar hakkında bilgi edineceğiz.
Bir Giriş Akışı Oluşturun
Bir InputStream oluşturmak için önce java.io.InputStream
paketi içe aktarmalıyız . Paketi içe aktardıktan sonra, işte giriş akışını nasıl oluşturabiliriz.
// Creates an InputStream InputStream object1 = new FileInputStream();
Burada, kullanarak bir giriş akışı oluşturduk FileInputStream
. Çünkü öyle InputStream
soyut bir sınıftır. Dolayısıyla bir nesneyi yaratamayız InputStream
.
Not : Diğer alt sınıflardan da bir girdi akışı oluşturabiliriz InputStream
.
InputStream Yöntemleri
InputStream
Sınıf onun alt sınıflar tarafından uygulanan farklı yöntemler sağlar. Yaygın olarak kullanılan yöntemlerden bazıları şunlardır:
read()
- giriş akışından bir bayt veri okurread(byte() array)
- akıştan bayt okur ve belirtilen dizide depolaravailable()
- giriş akışında bulunan bayt sayısını döndürürmark()
- verinin okunduğu giriş akışındaki konumu işaretlerreset()
- kontrolü akışta işaretin ayarlandığı noktaya döndürürmarkSupported()
-mark()
vereset()
yönteminin akışta desteklenip desteklenmediğini kontrol ederskips()
- giriş akışından belirtilen bayt sayısını atlar ve atarclose()
- giriş akışını kapatır
Örnek: FileInputStream Kullanarak InputStream
Sınıfı InputStream
kullanarak nasıl gerçekleştirebileceğimiz aşağıda açıklanmıştır FileInputStream
.
Aşağıdaki içeriğe sahip input.txt adında bir dosyamız olduğunu varsayalım .
This is a line of text inside the file.
Bu dosyayı FileInputStream
(alt sınıfı InputStream
) kullanarak okumaya çalışalım .
import java.io.FileInputStream; import java.io.InputStream; public class Main ( public static void main(String args()) ( byte() array = new byte(100); try ( InputStream input = new FileInputStream("input.txt"); System.out.println("Available bytes in the file: " + input.available()); // Read byte from the input stream input.read(array); System.out.println("Data read from the file: "); // Convert byte array into string String data = new String(array); System.out.println(data); // Close the input stream input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Çıktı
Available bytes in the file: 35 Data read from the file: This is a line of text inside the file
Yukarıdaki örnekte, FileInputStream
sınıfı kullanarak bir giriş akışı oluşturduk . Giriş akışı, input.txt dosyasıyla bağlantılıdır .
InputStream input = new FileInputStream("input.txt");
Verileri input.txt dosyasından okumak için bu iki yöntemi uyguladık.
input.read(array); // to read data from the input stream input.close(); // to close the input stream
Daha fazla bilgi edinmek için Java InputStream'i (resmi Java belgeleri) ziyaret edin.