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ı.
Javaimport 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ış:
Çı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
Javabu benim ilk kodum
bu benim ikinci kodum
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ış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 |