Java 파일 설명자 클래스

java.io.FileDescriptor 클래스는 기본 운영 체제의 열린 파일 또는 소켓 핸들을 나타냅니다. 이는 특정 파일 장치나 소켓에 대한 불투명한 참조 역할을 합니다. 이 클래스는 주로 Java I/O 스트림과 기본 파일 시스템 리소스 간의 브리지로 사용됩니다.

클래스 선언

Java
   public     final     class   FileDescriptor     extends     Object   
  • 파일 설명자의 주요 실제 용도는 이를 포함하는 FileInputStream 또는 FileOutputStream을 생성하는 것입니다.
  • 애플리케이션은 자체 파일 설명자를 생성해서는 안 됩니다.

공통 FileDescriptor 객체

  • 파일 설명자.in: 표준 입력(키보드)을 나타냅니다.
  • 파일 설명자.out: 표준 출력(콘솔)을 나타냅니다.
  • 파일 설명자.err: 표준 오류(오류 출력)를 나타냅니다.

건설자

  • 파일설명자(): 파일이나 소켓에 연결되지 않은 잘못된 파일 설명자를 만듭니다.

행동 양식

아래와 같이 두 가지 주요 방법이 있습니다.

  • 무효 동기화(): 데이터가 물리적으로 기록되도록 모든 시스템 버퍼를 기본 장치와 강제로 동기화합니다.
  • java.io.파일.유효(): 파일 설명자 개체가 유효한지(즉, 열린 파일이나 소켓에 연결되어 있는지) 확인합니다.

방법 예

1. sync() 메소드

통사론:

공개 무효 동기화()

반품 : 무효의

예외: SyncFailedException - 장치와 버퍼의 동기화가 보장되지 않는 경우 예외가 발생합니다.

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. valid() 메소드

통사론:

공개 부울 유효()

반품: FileDescriptor 객체가 유효하면 true, 그렇지 않으면 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  ();      }   }   

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

산출:

무언가를 입력하세요: A

입력한 내용: A

퀴즈 만들기