Java FileDescriptor Class

Luokka java.io.FileDescriptor edustaa avointa tiedostoa tai socket-kahvaa taustalla olevassa käyttöjärjestelmässä. Se toimii läpinäkymättömänä viittauksena tiettyyn tiedostolaitteeseen tai pistorasiaan. Tätä luokkaa käytetään pääasiassa siltana Java I/O -virtojen ja alkuperäisten tiedostojärjestelmän resurssien välillä.

Luokkailmoitus

Java
   public     final     class   FileDescriptor     extends     Object   
  • Tiedostokuvaajan pääasiallinen käyttötarkoitus on luoda FileInputStream tai FileOutputStream sen sisältämiseksi.
  • Sovellukset eivät saa luoda omia tiedostokuvauksiaan.

Yleiset FileDescriptor-objektit

  • FileDescriptor.in: Edustaa vakiosyöttöä (näppäimistö)
  • FileDescriptor.out: Edustaa vakiolähtöä (konsoli)
  • FileDescriptor.err: Edustaa vakiovirhettä (virhetulostus)

Rakentaja

  • FileDescriptor(): Luo virheellisen tiedostokuvaajan, jota ei ole yhdistetty mihinkään tiedostoon tai pistorasiaan.

menetelmät

On olemassa kaksi päämenetelmää, kuten alla mainitaan:

  • void sync(): Pakottaa kaikki järjestelmäpuskurit synkronoimaan taustalla olevan laitteen kanssa varmistaakseen, että tiedot kirjoitetaan fyysisesti.
  • Tarkistaa, onko tiedostokuvausobjekti kelvollinen (eli kytketty avoimeen tiedostoon tai pistorasiaan).

Esimerkki menetelmästä

1. sync()-menetelmä

Syntaksi:

public void sync()

Paluu: mitätön

Poikkeus: SyncFailedException - Tämä on poikkeus, jos puskurien synkronointia laitteen kanssa ei voida taata.

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

Lähtö
Is FileDescriptor valid? true Is FileDescriptor valid after close? false  

2. valid()-menetelmä

Syntaksi:

julkinen boolean valid()

Palata: tosi, jos FileDescriptor-objekti on kelvollinen muuten epätosi

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

Lähtö
Data synchronized successfully.  

Esimerkki tavallisilla tiedostokuvauksilla

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

Lähtö:

Syötä jotain: A

Annoit: A

Luo tietokilpailu