Класа јава.ио.ФилеДесцриптор представља отворену датотеку или ручку утичнице у основном оперативном систему. Делује као непрозирна референца на одређени фајл уређај или утичницу. Ова класа се углавном користи као мост између Јава И/О токова и изворних ресурса система датотека.
Цласс Децларатион
Java public final class FileDescriptor extends Object
- Главна практична употреба дескриптора датотеке је креирање ФилеИнпутСтреам или ФилеОутпутСтреам који ће га садржати.
- Апликације не би требало да креирају сопствене дескрипторе датотека.
Уобичајени објекти ФилеДесцриптор
- ФилеДесцриптор.ин: Представља стандардни унос (тастатура)
- ФилеДесцриптор.оут: Представља стандардни излаз (конзола)
- ФилеДесцриптор.ерр: Представља стандардну грешку (излаз грешке)
Цонструцтор
- ФилеДесцриптор(): Креира неважећи дескриптор датотеке који није повезан ни са једном датотеком или утичницом.
Методе
Постоје две главне методе као што је наведено у наставку:
- воид синц(): Присиљава све системске бафере да се синхронизују са основним уређајем обезбеђујући да су подаци физички уписани.
- јава.ио.Филе.валид(): Проверава да ли је објекат дескриптора датотеке важећи (тј. повезан са отвореном датотеком или утичницом).
Пример методе
1. синц() Метод
Синтакса:
јавна воид синц()
Повратак: воид
Изузетак: СинцФаиледЕкцептион - Ово је изузетак ако не постоји гаранција за синхронизацију бафера са уређајем.
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 ()); } }
Излаз
Is FileDescriptor valid? true Is FileDescriptor valid after close? false
2. валид() метода
Синтакса:
јавни логички валидан()
Повратак: труе ако је објекат ФилеДесцриптор валидан иначе фалсе
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 (); } }
Излаз
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 (); } }
Излаз:
Креирај квизУнесите нешто: А
Унели сте: А