logo

Java FileDescriptor Class

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

Java
public 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.

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

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

Produktion
Data synchronized successfully. 

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

Produktion:

Ange något: A

Du skrev in: A

Skapa frågesport