logo

Java FileDescriptor Class

Luokka java.io.FileDescriptor edustaa avointa tiedostoa tai socket-kahvaa taustalla olevassa käyttöjärjestelmässä. Se toimii läpinäkymättömänä viittauksena tiettyyn tiedostolaitteeseen tai pistorasiaan. Tätä luokkaa käytetään pääasiassa siltana Java I/O -virtojen ja alkuperäisten tiedostojärjestelmän resurssien välillä.

binääripuu postimyynnin läpikulku

Luokkailmoitus

Java
public final class FileDescriptor extends Object 
  • Tiedostokuvaajan pääasiallinen käyttötarkoitus on luoda FileInputStream tai FileOutputStream sen sisältämiseksi.
  • Sovellukset eivät saa luoda omia tiedostokuvauksiaan.

Yleiset FileDescriptor-objektit

  • FileDescriptor.in: Edustaa vakiosyöttöä (näppäimistö)
  • FileDescriptor.out: Edustaa vakiolähtöä (konsoli)
  • FileDescriptor.err: Edustaa vakiovirhettä (virhetulostus)

Rakentaja

  • FileDescriptor(): Luo virheellisen tiedostokuvaajan, jota ei ole yhdistetty mihinkään tiedostoon tai pistorasiaan.

menetelmät

On olemassa kaksi päämenetelmää, kuten alla mainitaan:

  • void sync(): Pakottaa kaikki järjestelmäpuskurit synkronoimaan taustalla olevan laitteen kanssa varmistaakseen, että tiedot kirjoitetaan fyysisesti.
  • Tarkistaa, onko tiedostokuvausobjekti kelvollinen (eli kytketty avoimeen tiedostoon tai pistorasiaan).

Esimerkki menetelmästä

1. sync()-menetelmä

Syntaksi:



public void sync()

Paluu: mitätön

Poikkeus: SyncFailedException - Tämä on poikkeus, jos puskurien synkronointia laitteen kanssa ei voida taata.

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

Lähtö
Is FileDescriptor valid? true Is FileDescriptor valid after close? false 

2. valid()-menetelmä

Syntaksi:

uml-kaavio java

julkinen boolean valid()

Palata: tosi, jos FileDescriptor-objekti on kelvollinen muuten epätosi

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

Lähtö
Data synchronized successfully. 

Esimerkki tavallisilla tiedostokuvauksilla

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

Lähtö:

Syötä jotain: A

Annoit: A

Luo tietokilpailu