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ä.
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:
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ö:
Luo tietokilpailuSyötä jotain: A
Annoit: A