Java Dosya Tanımlayıcı Sınıfı
Java.io.FileDescriptor sınıfı, temel işletim sistemindeki açık bir dosyayı veya yuva tanıtıcısını temsil eder. Belirli bir dosya aygıtına veya sokete opak bir referans görevi görür. Bu sınıf esas olarak Java I/O akışları ile yerel dosya sistemi kaynakları arasında bir köprü olarak kullanılır.
Sınıf Beyanı
Java public final class FileDescriptor extends Object
- Bir dosya tanımlayıcının temel pratik kullanımı, onu içerecek bir FileInputStream veya FileOutputStream oluşturmaktır.
Ortak Dosya Tanımlayıcı Nesneleri
- FileDescriptor.in: Standart girişi temsil eder (klavye)
- FileDescriptor.out: Standart çıkışı temsil eder (konsol)
- FileDescriptor.err: Standart hatayı temsil eder (hata çıkışı)
Oluşturucu
- Dosya Tanımlayıcı(): Herhangi bir dosyaya veya yuvaya bağlı olmayan geçersiz bir dosya tanımlayıcısı oluşturur.
Yöntemler
Aşağıda belirtildiği gibi iki ana yöntem vardır:
- geçersiz senkronizasyon(): Verilerin fiziksel olarak yazılmasını sağlamak için tüm sistem arabelleklerini temeldeki cihazla senkronize olmaya zorlar.
- java.io.File.valid(): Dosya tanımlayıcı nesnesinin geçerli olup olmadığını (yani açık bir dosyaya veya yuvaya bağlı olup olmadığını) kontrol eder.
Yöntem Örneği
1.sync() Yöntemi
Sözdizimi:
genel geçersiz senkronizasyon ()
Geri dönmek : geçersiz
İstisna: SyncFailedException - Bu istisna, arabelleklerin cihazla senkronizasyonunun garantisi yoksa ortaya çıkar.
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 ()); } }
Çıkış
Is FileDescriptor valid? true Is FileDescriptor valid after close? false
2. valid() Yöntemi
Sözdizimi:
genel boole geçerli()
Geri dönmek: FileDescriptor nesnesi geçerliyse true, aksi halde false
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 (); } }
Çıkış
Data synchronized successfully.
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 (); } }
Çıkış:
Test OluşturBir şey girin: A
Girdiniz: A