Classe Java FileDescriptor

La classe java.io.FileDescriptor représente un fichier ouvert ou un handle de socket dans le système d'exploitation sous-jacent. Il agit comme une référence opaque à un périphérique de fichier ou à un socket particulier. Cette classe est principalement utilisée comme pont entre les flux d’E/S Java et les ressources natives du système de fichiers.

Déclaration de classe

Java
   public     final     class   FileDescriptor     extends     Object   
  • La principale utilisation pratique d'un descripteur de fichier est de créer un FileInputStream ou un FileOutputStream pour le contenir.
  • Les applications ne doivent pas créer leurs propres descripteurs de fichiers.

Objets FileDescriptor courants

  • FileDescriptor.in : Représente l'entrée standard (clavier)
  • FileDescriptor.out : Représente la sortie standard (console)
  • FileDescriptor.err : Représente l'erreur standard (sortie d'erreur)

Constructeur

  • Descripteur de fichier() : Crée un descripteur de fichier non valide qui n'est connecté à aucun fichier ou socket.

Méthodes

Il existe deux méthodes principales mentionnées ci-dessous :

  • annuler la synchronisation() : Force tous les tampons système à se synchroniser avec le périphérique sous-jacent, garantissant que les données sont physiquement écrites.
  • java.io.File.valid() : Vérifie si l'objet descripteur de fichier est valide (c'est-à-dire connecté à un fichier ouvert ou à un socket).

Exemple de méthode

1. Méthode sync()

Syntaxe:

synchronisation vide publique()

Retour : vide

Exception : SyncFailedException - Cette exception est levée s'il n'y a aucune garantie de synchronisation des tampons avec le périphérique.

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

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

2. Valid()Méthodes

Syntaxe:

public booléen valide()

Retour: vrai si l'objet FileDescriptor est valide sinon faux

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

Sortir
Data synchronized successfully.  

Exemple avec des descripteurs de fichiers standard

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

Sortir:

Entrez quelque chose : A

Vous avez saisi : A

Créer un quiz