logo

Trieda Java FileDescriptor

Trieda java.io.FileDescriptor predstavuje otvorený súbor alebo rukoväť soketu v základnom operačnom systéme. Funguje ako nepriehľadný odkaz na konkrétne súborové zariadenie alebo soket. Táto trieda sa používa hlavne ako most medzi vstupno-výstupnými tokmi Java a prostriedkami natívneho systému súborov.

niečo rýchle

Vyhlásenie o triede

Java
public final class FileDescriptor extends Object 
  • Hlavným praktickým využitím deskriptora súboru je vytvorenie súboru FileInputStream alebo FileOutputStream, ktorý ho obsahuje.
  • Aplikácie by si nemali vytvárať vlastné deskriptory súborov.

Bežné objekty FileDescriptor Objects

  • FileDescriptor.in: Predstavuje štandardný vstup (klávesnica)
  • FileDescriptor.out: Predstavuje štandardný výstup (konzola)
  • FileDescriptor.err: Predstavuje štandardnú chybu (chybový výstup)

Konštruktér

  • FileDescriptor(): Vytvorí neplatný deskriptor súboru, ktorý nie je pripojený k žiadnemu súboru alebo soketu.

Metódy

Existujú dva hlavné spôsoby, ako je uvedené nižšie:

  • void sync(): Vynúti synchronizáciu všetkých vyrovnávacích pamätí systému so základným zariadením, čím sa zabezpečí fyzický zápis údajov.
  • java.io.File.valid(): Skontroluje, či je objekt deskriptora súboru platný (t. j. pripojený k otvorenému súboru alebo soketu).

Príklad metódy

1. Metóda sync().

Syntax:



public void sync()

Návrat : neplatné

Výnimka: SyncFailedException - Táto výnimka sa vyvolá, ak neexistuje záruka synchronizácie vyrovnávacích pamätí so zariadením.

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

Výstup
Is FileDescriptor valid? true Is FileDescriptor valid after close? false 

2. valid() Metóda

Syntax:

public boolean valid()

Návrat: true, ak je objekt FileDescriptor platný, inak je false

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

Výstup
Data synchronized successfully. 

Príklad so štandardnými popisovačmi súborov

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

výstup:

Zadajte niečo: A

zalamovanie slov css

Zadali ste: A

Vytvoriť kvíz