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
Javapublic 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.
Javaimport 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 javaJava
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
Javaimport 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