Java FileDescriptor osztály
A java.io.FileDescriptor osztály egy nyitott fájl- vagy socket-leírót jelent az alapul szolgáló operációs rendszerben. Átláthatatlan hivatkozásként működik egy adott fájleszközre vagy aljzatra. Ezt az osztályt főként hídként használják a Java I/O-folyamok és a natív fájlrendszer-erőforrások között.
Osztálynyilatkozat
Java public final class FileDescriptor extends Object
- A fájlleíró fő gyakorlati felhasználása egy FileInputStream vagy FileOutputStream létrehozása, amely tartalmazza azt.
- Az alkalmazások nem hozhatnak létre saját fájlleírókat.
Gyakori fájlleíró objektumok
- FileDescriptor.in: A szabványos bemenetet képviseli (billentyűzet)
- FileDescriptor.out: A szabványos kimenetet képviseli (konzol)
- FileDescriptor.err: A szabványos hibát jelenti (hibakimenet)
Konstruktőr
- FileDescriptor(): Érvénytelen fájlleírót hoz létre, amely nem kapcsolódik egyetlen fájlhoz vagy sockethez sem.
Mód
Két fő módszer létezik, az alábbiak szerint:
- void sync(): Az összes rendszerpuffert az alapul szolgáló eszközzel való szinkronizálásra kényszeríti, biztosítva az adatok fizikai írását.
- java.io.File.valid(): Ellenőrzi, hogy a fájlleíró objektum érvényes-e (azaz nyitott fájlhoz vagy sockethez csatlakozik).
Módszer példa
1. sync() metódus
Szintaxis:
public void sync()
Visszaküldés: üres
Kivétel: SyncFailedException - Ez kivétel, ha nincs garancia a pufferek szinkronizálására az eszközzel.
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 ()); } }
Kimenet
Is FileDescriptor valid? true Is FileDescriptor valid after close? false
2. valid() Módszer
Szintaxis:
publikus logikai érték érvényes()
Visszatérés: igaz, ha a FileDescriptor objektum érvényes, egyébként hamis
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 (); } }
Kimenet
Data synchronized successfully.
Példa szabványos fájlleírókkal
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 (); } }
Kimenet:
Kvíz létrehozásaÍrjon be valamit: A
Beírtad: A