logo

Java FileInputStream Sınıfı

Java'daki FileInputStream sınıfı, bir dosyadan bayt biçimindeki verileri okumak için kullanılır. Görüntüler veya ses dosyaları gibi ikili verileri okumak için idealdir. Metin dosyalarını okumak için kullanmak daha iyidir Dosya Okuyucusu.

  • Doğrudan Erişim: Dosya içeriğini arabelleğe almadan doğrudan diskten okur
  • Platformdan Bağımsız: Her işletim sisteminde çalışabilir

beyan

FileInputStream sınıfı şunları genişletir: Giriş Akışı sınıf, dosyalardan ham bayt verilerini okumak için yöntemler devraldığı anlamına gelir.

genel sınıf FileInputStream, inputStream'i genişletir



Örnek: Dosyadan veri okumak için FileInputStream sınıfı.

Java
import java.io.*; public class Geeks{    public static void main(String[] args){    // Use try-with-resources to automatically close the  // stream  try (FileInputStream fi  = new FileInputStream('file1.txt')) {  // Display file channel information  System.out.println('Channel: '  + fi.getChannel());  // Display file descriptor  System.out.println('File Descriptor: '  + fi.getFD());  // Show available bytes in the stream  System.out.println('Number of remaining bytes: '  + fi.available());  // Skip first few bytes  fi.skip(4);  System.out.println('File Contents:');  // Read and print file content  int ch;  while ((ch = fi.read()) != -1) {  System.out.print((char)ch);  }  }  catch (FileNotFoundException e) {  System.out.println(  'File not found: Ensure 'file1.txt' exists in the working directory.');  }  catch (IOException e) {  System.out.println(  'An error occurred while reading the file: '  + e.getMessage());  }  } } 

Çıkış:  

Ekran görüntüsü' title=Çıkış

Yapıcılar FileInputStream Sınıfı

1. FileInputStream(Dize adı)

Belirtilen ada sahip bir dosyadan okunacak bir giriş dosyası akışı oluşturur. 

FileInputStream fi = new FileInputStream('example.txt');

2. FileInputStream(Dosya dosyası)

Belirtilen File nesnesinden okunacak bir giriş dosyası akışı oluşturur. 

Dosya f = yeni Dosya('example.txt');
FileInputStream fi = new FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Belirtilen dosya tanımlayıcıdan okunacak bir giriş dosyası akışı oluşturur. 

FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = new FileInputStream(fd); 

Proje dizininizde aşağıdaki içeriğe sahip file.txt adlı bir dosya oluşturun:

ana java

bu benim ilk kodum
bu benim ikinci kodum

Java
import java.io.*; public class Geeks {  public static void main(String[] args)  {  // Use try-with-resources to automatically close the stream  try (FileInputStream fi  = new FileInputStream('file1.txt')) {  // Display file channel information  System.out.println('Channel: '  + fi.getChannel());  // Display file descriptor  System.out.println('File Descriptor: '  + fi.getFD());  // Illustrating available method  System.out.println('Number of remaining bytes: '  + fi.available());  // Illustrating skip() method  fi.skip(4);  System.out.println('File Contents:');  // Reading characters from FileInputStream  int ch;  while ((ch = fi.read()) != -1) {  System.out.print((char)ch);  }  }  catch (FileNotFoundException e) {  System.out.println(  'File not found: Ensure 'file1.txt' exists in the working directory.');  }  catch (IOException e) {  System.out.println(  'An error occurred while reading the file: '  + e.getMessage());  }  } } 

Çıkış:  

Çıkış' loading='lazy' title=Çıkış

Java Yöntemleri FileInputStream Sınıfı

Yöntemler İşlem Gerçekleştirildi 
mevcut() Bu giriş akışından okunabilecek (veya atlanabilecek) kalan bayt sayısına ilişkin bir tahmin döndürür.
kapalı() Bu dosya giriş akışını kapatır ve akışla ilişkili tüm sistem kaynaklarını serbest bırakır.
sonuçlandırmak() Bu dosya giriş akışının kapatma yönteminin, kendisine daha fazla başvuru olmadığında çağrılmasını sağlar. 
getChannel() Bu dosya giriş akışıyla ilişkili benzersiz FileChannel nesnesini döndürür. 
getFD() Bu FileInputStreamtarafından kullanılan dosya sistemindeki gerçek dosyaya bağlantıyı temsil eden FileDescriptor nesnesini döndürür.
Okumak() Bu giriş akışından bir bayt veri okur
oku(bayt[] b)Bu giriş akışından b.uzunluk baytına kadar veriyi bir bayt dizisine okur. 
oku(bayt[] b int kapalı int len)Bu giriş akışından len bayta kadar veriyi bir bayt dizisine okur.
atlamak() Giriş akışındaki n baytlık veriyi atlar ve atar
Test Oluştur