Java Dosya Tanımlayıcı Sınıfı

Java.io.FileDescriptor sınıfı, temel işletim sistemindeki açık bir dosyayı veya yuva tanıtıcısını temsil eder. Belirli bir dosya aygıtına veya sokete opak bir referans görevi görür. Bu sınıf esas olarak Java I/O akışları ile yerel dosya sistemi kaynakları arasında bir köprü olarak kullanılır.

Sınıf Beyanı

Java
   public     final     class   FileDescriptor     extends     Object   
  • Bir dosya tanımlayıcının temel pratik kullanımı, onu içerecek bir FileInputStream veya FileOutputStream oluşturmaktır.

Ortak Dosya Tanımlayıcı Nesneleri

  • FileDescriptor.in: Standart girişi temsil eder (klavye)
  • FileDescriptor.out: Standart çıkışı temsil eder (konsol)
  • FileDescriptor.err: Standart hatayı temsil eder (hata çıkışı)

Oluşturucu

  • Dosya Tanımlayıcı(): Herhangi bir dosyaya veya yuvaya bağlı olmayan geçersiz bir dosya tanımlayıcısı oluşturur.

Yöntemler

Aşağıda belirtildiği gibi iki ana yöntem vardır:

  • geçersiz senkronizasyon(): Verilerin fiziksel olarak yazılmasını sağlamak için tüm sistem arabelleklerini temeldeki cihazla senkronize olmaya zorlar.
  • java.io.File.valid(): Dosya tanımlayıcı nesnesinin geçerli olup olmadığını (yani açık bir dosyaya veya yuvaya bağlı olup olmadığını) kontrol eder.

Yöntem Örneği

1.sync() Yöntemi

Sözdizimi:

genel geçersiz senkronizasyon ()

Geri dönmek : geçersiz

İstisna: SyncFailedException - Bu istisna, arabelleklerin cihazla senkronizasyonunun garantisi yoksa ortaya çıkar.

Java
   import     java.io.*  ;   public     class   FileDescriptorValidity     {      public     static     void     main  (  String  []     args  )     throws     Exception     {      FileOutputStream     fos     =     new     FileOutputStream  (  'example.txt'  );      FileDescriptor     fd     =     fos  .  getFD  ();      System  .  out  .  println  (  'Is FileDescriptor valid? '     +     fd  .  valid  ());      fos  .  close  ();      System  .  out  .  println  (  'Is FileDescriptor valid after close? '     +     fd  .  valid  ());      }   }   

Çıkış
Is FileDescriptor valid? true Is FileDescriptor valid after close? false  

2. valid() Yöntemi

Sözdizimi:

genel boole geçerli()

Geri dönmek: FileDescriptor nesnesi geçerliyse true, aksi halde false

Java
   import     java.io.*  ;   public     class   FileDescriptorSync     {      public     static     void     main  (  String  []     args  )     throws     Exception     {      FileOutputStream     fos     =     new     FileOutputStream  (  'syncDemo.txt'  );      FileDescriptor     fd     =     fos  .  getFD  ();      fos  .  write  (  'GeeksForGeeks FileDescriptor Example'  .  getBytes  ());      fd  .  sync  ();     // Ensures data is written to disk      System  .  out  .  println  (  'Data synchronized successfully.'  );      fos  .  close  ();      }   }   

Çıkış
Data synchronized successfully.  

Java
   import     java.io.*  ;   public     class   StandardFileDescriptors     {      public     static     void     main  (  String  []     args  )     throws     Exception     {      FileInputStream     fis     =     new     FileInputStream  (  FileDescriptor  .  in  );      FileOutputStream     fos     =     new     FileOutputStream  (  FileDescriptor  .  out  );      FileOutputStream     fes     =     new     FileOutputStream  (  FileDescriptor  .  err  );      fos  .  write  (  'Enter something: '  .  getBytes  ());      int     data     =     fis  .  read  ();      fes  .  write  ((  'You entered: '     +     (  char  )  data     +     'n'  ).  getBytes  ());      fis  .  close  ();      fos  .  close  ();      fes  .  close  ();      }   }   

Çıkış:

Bir şey girin: A

Girdiniz: A

Test Oluştur