Класа јава.ио.ФилеДесцриптор представља отворену датотеку или ручку утичнице у основном оперативном систему. Делује као непрозирна референца на одређени фајл уређај или утичницу. Ова класа се углавном користи као мост између Јава И/О токова и изворних ресурса система датотека.

Цласс Децларатион

Java
   public     final     class   FileDescriptor     extends     Object   
  • Главна практична употреба дескриптора датотеке је креирање ФилеИнпутСтреам или ФилеОутпутСтреам који ће га садржати.
  • Апликације не би требало да креирају сопствене дескрипторе датотека.

Уобичајени објекти ФилеДесцриптор

  • ФилеДесцриптор.ин: Представља стандардни унос (тастатура)
  • ФилеДесцриптор.оут: Представља стандардни излаз (конзола)
  • ФилеДесцриптор.ерр: Представља стандардну грешку (излаз грешке)

Цонструцтор

  • ФилеДесцриптор(): Креира неважећи дескриптор датотеке који није повезан ни са једном датотеком или утичницом.

Методе

Постоје две главне методе као што је наведено у наставку:

  • воид синц(): Присиљава све системске бафере да се синхронизују са основним уређајем обезбеђујући да су подаци физички уписани.
  • јава.ио.Филе.валид(): Проверава да ли је објекат дескриптора датотеке важећи (тј. повезан са отвореном датотеком или утичницом).

Пример методе

1. синц() Метод

Синтакса:

јавна воид синц()

Повратак: воид

Изузетак: СинцФаиледЕкцептион - Ово је изузетак ако не постоји гаранција за синхронизацију бафера са уређајем.

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  ());      }   }   

Излаз
Is FileDescriptor valid? true Is FileDescriptor valid after close? false  

2. валид() метода

Синтакса:

јавни логички валидан()

Повратак: труе ако је објекат ФилеДесцриптор валидан иначе фалсе

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  ();      }   }   

Излаз
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  ();      }   }   

Излаз:

Унесите нешто: А

Унели сте: А

Креирај квиз