Razred Java FileDescriptor
Razred java.io.FileDescriptor predstavlja odprto datoteko ali ročico vtičnice v osnovnem operacijskem sistemu. Deluje kot neprozoren sklic na določeno datotečno napravo ali vtičnico. Ta razred se v glavnem uporablja kot most med V/I tokovi Java in izvornimi viri datotečnega sistema.
Izjava razreda
Java public final class FileDescriptor extends Object
- Glavna praktična uporaba deskriptorja datoteke je ustvariti FileInputStream ali FileOutputStream, ki ga vsebuje.
- Aplikacije ne bi smele ustvarjati lastnih deskriptorjev datotek.
Pogosti predmeti FileDescriptor
- FileDescriptor.in: Predstavlja standardni vnos (tipkovnica)
- FileDescriptor.out: Predstavlja standardni izhod (konzola)
- FileDescriptor.err: Predstavlja standardno napako (izhod napake)
Konstruktor
- FileDescriptor(): Ustvari neveljaven deskriptor datoteke, ki ni povezan z nobeno datoteko ali vtičnico.
Metode
Spodaj sta navedeni dve glavni metodi:
- void sync(): Prisili vse sistemske medpomnilnike, da se sinhronizirajo z osnovno napravo, kar zagotavlja, da so podatki fizično zapisani.
- java.io.File.valid(): Preveri, ali je objekt deskriptorja datoteke veljaven (tj. povezan z odprto datoteko ali vtičnico).
Primer metode
1. metoda sync().
Sintaksa:
javna prazna sinhronizacija()
Povratek: praznina
Izjema: SyncFailedException - Ta izjema se vrže, če ni zagotovila za sinhronizacijo medpomnilnikov z napravo.
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 ()); } }
Izhod
Is FileDescriptor valid? true Is FileDescriptor valid after close? false
2. metoda valid().
Sintaksa:
javno logično veljavno ()
Vrnitev: true, če je objekt FileDescriptor veljaven else 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 (); } }
Izhod
Data synchronized successfully.
Primer s standardnimi opisniki datotek
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 (); } }
Izhod:
Ustvari kvizVnesite nekaj: A
Vnesli ste: A