Odak modu

Java 102

FileInputStream Sınıfı

InputStream Sınıfı


InputStream sınıfı byte akışını temsil eden bir abstract sınıftır ve Java.io paketinden gelmektedir.


InputStream abstract bir sınıf olduğu için kendi başına kullanışlı değildir o yüzden InputStream'a ait alt sınıflar veri okumak için kullanılır.


InputStream alt sınıfları : FileInputStream, ByteArrayInputStream, ObjectInputStream


FileInputStream


Java.io paketinin FileInputStream sınıfı, dosyalardan verileri (bayt cinsinden) okumak için kullanılır.

InputStream soyut (Abstract) sınıfını miras alır.


FileInputStream Oluşturma


Bir dosya giriş akışı oluşturmak için önce java.io.FileInputStream paketini içe aktarmalıyız. Paketi içe aktardıktan sonra, Java'da bir dosya giriş akışını nasıl oluşturabileceğimizi burada bulabilirsiniz.


Dosya Yolu Kullanma



FileInputStream input = new FileInputStream(stringPath);


Nesne Kullanma



FileInputStream input = new FileInputStream(File fileObject);


FileInputStream Metotları


FileInputStream sınıfına ait metotlar :


  • read() : Dosyadan tek baytlık veri okur.


  • read(byte[] array) : dosyadan verileri bayt cinsinde okur ve belirtilen dizide depolar




import java.io.FileInputStream;

public class PatikaDev {
    public static void main(String[] args) {

        try {
            FileInputStream input = new FileInputStream("input.txt");

            System.out.println("Dosyadaki veriler: ");

            // İlk baytı okur
            int i = input.read();

            while (i != -1) {
                // Byte to char
                System.out.print((char) i);
                // Dosyadan sonraki baytı okur
                i = input.read();
            }
            input.close();
        } catch (Exception e) {
            e.getStackTrace();
        }
    }
}



available();


package stream;

import java.io.FileInputStream;

public class PatikaDev {
    public static void main(String[] args) {

        try {
            FileInputStream input = new FileInputStream("input.txt");

            // Kullanılabilir bayt sayısını verir
            System.out.println("Kullanılabilir bayt sayısı : " + input.available());

            // Dosyadan 3 baytlık veri okur
            input.read();
            input.read();
            input.read();

            // Kullanılabilir bayt sayısını verir
            System.out.println("Kullanılabilir bayt sayısı : " + input.available());

            input.close();
        } catch (Exception e) {
            e.getStackTrace();
        }
    }
}


skip();


Belirtilen bayt sayısını atmak ve atlamak için skip () yöntemini kullanabiliriz. Örneğin,



import java.io.FileInputStream;

public class PatikaDev {
    public static void main(String[] args) {

        try {
            FileInputStream input = new FileInputStream("input.txt");

            // 5 byte atlanacaktır
            input.skip(5);
            System.out.println("5 bytelık veri atlandı : ");

            int i = input.read();
            while (i != -1) {
                System.out.print((char) i);
                i = input.read();
            }
            input.close();
        } catch (Exception e) {
            e.getStackTrace();
        }
    }
}


Background Pattern
Birlikte öğrenelim

Sektörde en çok aranan yazılım becerilerini kazan

Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.

Yunus Emre Kabakcı

Patika+ mezunu

Patika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,

3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!


“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“

Yorumlar

Yorum yapabilmek için derse kayıt olmalısın!