logo

Java FileDescriptor Class

Java.io.FileDescriptor-klassen representerer en åpen fil eller socket-håndtak i det underliggende operativsystemet. Den fungerer som en ugjennomsiktig referanse til en bestemt filenhet eller kontakt. Denne klassen brukes hovedsakelig som en bro mellom Java I/O-strømmer og de opprinnelige filsystemressursene.

udefinert skråning

Klasseerklæring

Java
public final class FileDescriptor extends Object 
  • Den viktigste praktiske bruken for en filbeskrivelse er å lage en FileInputStream eller FileOutputStream for å inneholde den.
  • Applikasjoner bør ikke lage sine egne filbeskrivelser.

Vanlige FileDescriptor-objekter

  • FileDescriptor.in: Representerer standardinndata (tastatur)
  • FileDescriptor.out: Representerer standard utgang (konsoll)
  • FileDescriptor.err: Representerer standardfeilen (feilutgang)

Konstruktør

  • FileDescriptor(): Oppretter en ugyldig filbeskrivelse som ikke er koblet til noen fil eller socket.

Metoder

Det er to hovedmetoder som nevnt nedenfor:

  • void sync(): Tvinger alle systembuffere til å synkronisere med den underliggende enheten for å sikre at data skrives fysisk.
  • java.io.File.valid(): Sjekker om filbeskrivelsesobjektet er gyldig (dvs. koblet til en åpen fil eller socket).

Metodeeksempel

1. sync() metode

Syntaks:



offentlig void sync()

Retur: ugyldig

Unntak: SyncFailedException - Dette unntaket blir kastet hvis det ikke er noen garanti for synkronisering av buffere med enheten.

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

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

2. valid() Metode

Syntaks:

offentlig boolsk gyldig()

Retur: true hvis FileDescriptor-objektet er gyldig ellers usann

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

Produksjon
Data synchronized successfully. 

Eksempel med Standard FileDescriptors

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

Produksjon:

Skriv inn noe: A

Du skrev inn: A

Lag quiz