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.
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
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:
Lag quizSkriv inn noe: A
Du skrev inn: A