Klassen java.io.FileDescriptor representerar ett öppet fil- eller sockethandtag i det underliggande operativsystemet. Det fungerar som en ogenomskinlig referens till en viss filenhet eller socket. Denna klass används huvudsakligen som en brygga mellan Java I/O-strömmar och de inbyggda filsystemresurserna.
hoppsan
Klassdeklaration
Javapublic final class FileDescriptor extends Object
- Den huvudsakliga praktiska användningen av en filbeskrivning är att skapa en FileInputStream eller FileOutputStream för att innehålla den.
- Applikationer bör inte skapa sina egna filbeskrivningar.
Vanliga FileDescriptor-objekt
- FileDescriptor.in: Representerar standardingången (tangentbord)
- FileDescriptor.out: Representerar standardutgången (konsol)
- FileDescriptor.err: Representerar standardfelet (felutgång)
Konstruktör
- FileDescriptor(): Skapar en ogiltig filbeskrivning som inte är ansluten till någon fil eller socket.
Metoder
Det finns två huvudmetoder som nämns nedan:
- void sync(): Tvingar alla systembuffertar att synkronisera med den underliggande enheten för att säkerställa att data skrivs fysiskt.
- java.io.File.valid(): Kontrollerar om filbeskrivningsobjektet är giltigt (dvs anslutet till en öppen fil eller socket).
Metodexempel
1. sync() Metod
Syntax:
public void sync()
Retur: ogiltig
Undantag: SyncFailedException - Detta undantag kastas om det inte finns någon garanti för synkronisering av buffertar 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()); } }
Produktion
Is FileDescriptor valid? true Is FileDescriptor valid after close? false
2. valid() Metod
Syntax:
Återvända: true om FileDescriptor-objektet är giltigt annars false
central css-knappJava
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(); } }
Produktion
Data synchronized successfully.
Exempel 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(); } }
Produktion:
Skapa frågesportAnge något: A
Du skrev in: A