Java FileDescriptor osztály

A java.io.FileDescriptor osztály egy nyitott fájl- vagy socket-leírót jelent az alapul szolgáló operációs rendszerben. Átláthatatlan hivatkozásként működik egy adott fájleszközre vagy aljzatra. Ezt az osztályt főként hídként használják a Java I/O-folyamok és a natív fájlrendszer-erőforrások között.

Osztálynyilatkozat

Java
   public     final     class   FileDescriptor     extends     Object   
  • A fájlleíró fő gyakorlati felhasználása egy FileInputStream vagy FileOutputStream létrehozása, amely tartalmazza azt.
  • Az alkalmazások nem hozhatnak létre saját fájlleírókat.

Gyakori fájlleíró objektumok

  • FileDescriptor.in: A szabványos bemenetet képviseli (billentyűzet)
  • FileDescriptor.out: A szabványos kimenetet képviseli (konzol)
  • FileDescriptor.err: A szabványos hibát jelenti (hibakimenet)

Konstruktőr

  • FileDescriptor(): Érvénytelen fájlleírót hoz létre, amely nem kapcsolódik egyetlen fájlhoz vagy sockethez sem.

Mód

Két fő módszer létezik, az alábbiak szerint:

  • void sync(): Az összes rendszerpuffert az alapul szolgáló eszközzel való szinkronizálásra kényszeríti, biztosítva az adatok fizikai írását.
  • java.io.File.valid(): Ellenőrzi, hogy a fájlleíró objektum érvényes-e (azaz nyitott fájlhoz vagy sockethez csatlakozik).

Módszer példa

1. sync() metódus

Szintaxis:

public void sync()

Visszaküldés: üres

Kivétel: SyncFailedException - Ez kivétel, ha nincs garancia a pufferek szinkronizálására az eszközzel.

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

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

2. valid() Módszer

Szintaxis:

publikus logikai érték érvényes()

Visszatérés: igaz, ha a FileDescriptor objektum érvényes, egyébként hamis

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

Kimenet
Data synchronized successfully.  

Példa szabványos fájlleírókkal

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

Kimenet:

Írjon be valamit: A

Beírtad: A

Kvíz létrehozása