산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java InputStream 클래스: 핵심 메서드와 FileInputStream 실전 예제

Java InputStream 클래스

이 튜토리얼은 Java의 InputStream 클래스를 해설하며, 주요 메서드, 핵심 서브클래스, FileInputStream을 활용한 실전 예제를 다룹니다.

java.io 패키지에서 InputStream은 바이트 지향 입력 스트림을 나타내는 추상 슈퍼클래스입니다. 직접 인스턴스화할 수는 없지만, 구체적인 서브클래스들이 파일, 바이트 배열, 기타 소스에서 데이터를 읽는 강력한 메커니즘을 제공합니다.


InputStream의 주요 서브클래스

InputStream의 실질적 사용은 서브클래스에 의존합니다. 가장 일반적인 것들은 다음과 같습니다:

각 서브클래스는 별도 튜토리얼에서 다루겠지만, 여기서는 FileInputStream에 집중하겠습니다.


InputStream 생성하기

InputStream을 생성하려면 먼저 클래스를 임포트합니다:

import java.io.InputStream;

InputStream은 추상 클래스이므로 구체적인 서브클래스를 인스턴스화해야 합니다. 예를 들어:

InputStream stream = new FileInputStream("example.txt");

FileInputStream을 다른 구체적인 서브클래스로 대체할 수 있습니다.


InputStream의 핵심 메서드

다음 메서드들은 모든 InputStream 구현체에서 공통적으로 사용됩니다:


실전 예제: FileInputStream으로 파일 읽기

input.txt라는 텍스트 파일에 다음 내용이 있다고 가정합니다:

This is a line of text inside the file.

아래는 파일을 열고 사용 가능한 바이트 수를 보고하고, 내용을 바이트 배열로 읽어 출력하는 완전한 Java 프로그램입니다.

import java.io.FileInputStream;
import java.io.InputStream;

public class Main {
    public static void main(String[] args) {
        byte[] buffer = new byte[100];
        try (InputStream input = new FileInputStream("input.txt")) {
            System.out.println("Available bytes: " + input.available());
            int bytesRead = input.read(buffer);
            System.out.println("Bytes read: " + bytesRead);
            String data = new String(buffer, 0, bytesRead);
            System.out.println("Data read from the file:");
            System.out.println(data);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

실행 결과

Available bytes: 39
Bytes read: 39
Data read from the file:
This is a line of text inside the file.

이 예제는 try-with-resources 블록에서 FileInputStream을 사용하는 방법을 보여주며, 예외 발생 시에도 스트림이 자동으로 닫히도록 보장합니다.

API에 대한 더 깊은 이해를 위해 공식 Java 문서를 참조하세요: InputStream Javadoc.

java

  1. Java final 키워드 마스터: 변수, 메서드, 클래스에서의 활용
  2. Java instanceof 연산자 완벽 가이드: 기본 사용법부터 상속, 인터페이스까지
  3. Java 정적 중첩 클래스 이해: 용법, 내부 클래스와의 차이, 예제
  4. Java 익명 내부 클래스 마스터: 정의, 문법, 실전 예제
  5. Java 싱글톤 패턴 완벽 가이드: 안전하게 구현하고 사용하기
  6. Java 리플렉션 마스터: 런타임에 클래스, 메서드, 필드 검사 및 조작
  7. Java ObjectOutputStream 마스터하기: 직렬화, 메서드, 실전 예제
  8. Java Scanner 완전 정복: 종합 가이드와 실전 예제
  9. Java 제네릭 마스터하기: 재사용 가능하고 타입 안전한 코드 작성
  10. java.io로 Java 파일 작업 마스터하기 – 생성, 읽기, 쓰기 및 삭제