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
Javapublic 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.
Javaimport 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
Javaimport 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
Javaimport 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