Java FileDescriptor Class

Klase java.io.FileDescriptor ir atvērta faila vai ligzdas rokturi pamatā esošajā operētājsistēmā. Tas darbojas kā necaurredzama atsauce uz noteiktu faila ierīci vai ligzdu. Šī klase galvenokārt tiek izmantota kā tilts starp Java I/O straumēm un vietējās failu sistēmas resursiem.

Klases deklarācija

Java
   public     final     class   FileDescriptor     extends     Object   
  • Galvenais faila deskriptora praktiskais pielietojums ir izveidot FileInputStream vai FileOutputStream, lai to saturētu.
  • Lietojumprogrammām nevajadzētu izveidot savus failu deskriptorus.

Kopējie FileDescriptor objekti

  • FileDescriptor.in: Apzīmē standarta ievadi (tastatūru)
  • FileDescriptor.out: Apzīmē standarta izvadi (konsole)
  • FileDescriptor.err: Apzīmē standarta kļūdu (kļūdas izvade)

Konstruktors

  • FileDescriptor(): Izveido nederīgu faila deskriptoru, kas nav savienots ar nevienu failu vai ligzdu.

Metodes

Ir divas galvenās metodes, kā minēts tālāk:

  • Void sync (): Piespiež visus sistēmas buferus sinhronizēt ar pamata ierīci, nodrošinot, ka dati tiek fiziski ierakstīti.
  • java.io.File.valid(): Pārbauda, ​​vai faila deskriptora objekts ir derīgs (t.i., savienots ar atvērtu failu vai ligzdu).

Metodes piemērs

1. sync() metode

Sintakse:

public Void sync ()

Atgriešanās: nederīgs

Izņēmums: SyncFailedException — Tas ir izņēmums, ja nav garantijas par buferu sinhronizāciju ar ierīci.

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

Izvade
Is FileDescriptor valid? true Is FileDescriptor valid after close? false  

2. derīgs() metode

Sintakse:

publiska Būla vērtība derīga()

Atgriezties: patiess, ja objekts FileDescriptor ir derīgs, pretējā gadījumā nepatiess

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

Izvade
Data synchronized successfully.  

Piemērs ar standarta failu aprakstiem

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

Izvade:

Ievadiet kaut ko: A

Jūs ievadījāt: A

Izveidojiet viktorīnu