logo

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.

ascii táblázat c

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:

Írjon be valamit: A

java long to int

Beírtad: A

Kvíz létrehozása