Java의 FileInputStream 클래스는 파일에서 바이트 형식의 데이터를 읽는 데 사용됩니다. 이미지나 오디오 파일과 같은 바이너리 데이터를 읽는 데 이상적입니다. 텍스트 파일을 읽으려면 다음을 사용하는 것이 좋습니다. FileReader.
- 직접 접속: 버퍼링 없이 디스크에서 파일 내용을 직접 읽습니다.
- 플랫폼 독립적: 모든 운영 체제에서 작동할 수 있습니다.
선언
FileInputStream 클래스는 입력스트림 클래스는 파일에서 원시 바이트 데이터를 읽는 방법을 상속한다는 의미입니다.
공개 클래스 FileInputStream은 InputStream을 확장합니다.
예: 파일에서 데이터를 읽는 FileInputStream 클래스입니다.
Javaimport java.io.*; public class Geeks{ public static void main(String[] args){ // Use try-with-resources to automatically close the // stream try (FileInputStream fi = new FileInputStream('file1.txt')) { // Display file channel information System.out.println('Channel: ' + fi.getChannel()); // Display file descriptor System.out.println('File Descriptor: ' + fi.getFD()); // Show available bytes in the stream System.out.println('Number of remaining bytes: ' + fi.available()); // Skip first few bytes fi.skip(4); System.out.println('File Contents:'); // Read and print file content int ch; while ((ch = fi.read()) != -1) { System.out.print((char)ch); } } catch (FileNotFoundException e) { System.out.println( 'File not found: Ensure 'file1.txt' exists in the working directory.'); } catch (IOException e) { System.out.println( 'An error occurred while reading the file: ' + e.getMessage()); } } }
산출:
산출생성자 FileInputStream 클래스
1. FileInputStream(문자열 이름)
지정된 이름을 가진 파일에서 읽을 입력 파일 스트림을 만듭니다.
FileInputStream fi = new FileInputStream('example.txt');
2. FileInputStream(파일 파일)
지정된 File 객체에서 읽을 입력 파일 스트림을 만듭니다.
파일 f = new File('example.txt');
FileInputStream fi = new FileInputStream(f);
3. FileInputStream(파일 설명자 fdobj)
지정된 파일 설명자에서 읽을 입력 파일 스트림을 만듭니다.
파일설명자 fd = FileDescriptor.in;
FileInputStream fi = new FileInputStream(fd);
다음 내용으로 프로젝트 디렉터리에 file.txt라는 파일을 만듭니다.
Java이게 내 첫 번째 코드야
이게 내 두 번째 코드야
import java.io.*; public class Geeks { public static void main(String[] args) { // Use try-with-resources to automatically close the stream try (FileInputStream fi = new FileInputStream('file1.txt')) { // Display file channel information System.out.println('Channel: ' + fi.getChannel()); // Display file descriptor System.out.println('File Descriptor: ' + fi.getFD()); // Illustrating available method System.out.println('Number of remaining bytes: ' + fi.available()); // Illustrating skip() method fi.skip(4); System.out.println('File Contents:'); // Reading characters from FileInputStream int ch; while ((ch = fi.read()) != -1) { System.out.print((char)ch); } } catch (FileNotFoundException e) { System.out.println( 'File not found: Ensure 'file1.txt' exists in the working directory.'); } catch (IOException e) { System.out.println( 'An error occurred while reading the file: ' + e.getMessage()); } } }
산출:
산출자바의 방법 FileInputStream 클래스
| 행동 양식 | 수행된 작업 |
|---|---|
| 사용 가능() | 이 입력 스트림에서 읽거나 건너뛸 수 있는 남은 바이트 수의 추정치를 반환합니다. |
| 닫다() | 이 파일 입력 스트림을 닫고 스트림과 관련된 모든 시스템 리소스를 해제합니다. |
| 마무리() | 더 이상 참조가 없을 때 이 파일 입력 스트림의 닫기 메소드가 호출되는지 확인합니다. |
| getChannel() | 이 파일 입력 스트림과 연관된 고유한 FileChannel 객체를 반환합니다. |
| getFD() | 이 FileInputStream이 사용하는 파일 시스템의 실제 파일에 대한 연결을 나타내는 FileDescriptor 객체를 반환합니다. |
| 읽다() | 이 입력 스트림에서 1바이트의 데이터를 읽습니다. |
| 읽기(바이트[] b) | 이 입력 스트림에서 최대 b.length 바이트의 데이터를 바이트 배열로 읽습니다. |
| 읽기(바이트[] b int off int len) | 이 입력 스트림에서 최대 len 바이트의 데이터를 바이트 배열로 읽습니다. |
| 건너뛰다() | 입력 스트림에서 n바이트의 데이터를 건너뛰고 삭제합니다. |