Java InputStream은 어떻게 작동합니까?

Java Inputstream Eun Eotteohge Jagdonghabnikka



Java를 사용하면 개발자가 파일로 작업할 수 있습니다. 그러한 경우 ' 입력 스트림 ” 클래스는 포함된 바이트 분석과 함께 지정된 파일 내용을 읽는 데 도움이 됩니다. 그 결과 메모리 문제에 대처하고 요구 사항에 따라 선택적 파일 콘텐츠를 효율적으로 반환합니다.

이 글은 Java의 'InputStream' 작업에 대해 자세히 설명합니다.







Java InputStream은 어떻게 작동합니까?

'의 'InputStream' 클래스 java.io ” 패키지는 지정된 파일에 대한 바이트로 구성된 입력 스트림을 반환하는 추상 슈퍼클래스에 해당합니다.



InputStream의 하위 클래스

'InputStream' 기능을 적용하기 위해 다음 하위 클래스를 활용할 수 있습니다.



    • FileInputStream
    • 개체 입력 스트림
    • ByteArrayInputStream

이러한 하위 클래스는 'InputStream' 클래스를 확장합니다.





InputStream의 메소드

'InputStream' 클래스에는 하위 클래스에서 적용되는 다양한 메서드가 포함되어 있습니다. 다음은 가장 일반적으로 사용되는 몇 가지 방법입니다.

행동 양식 기능
읽다() 입력 스트림에서 데이터 바이트를 읽습니다.



읽기(바이트[] 배열) 또한 스트림에서 바이트를 읽고 대상 배열에 저장합니다.

건너뛰다() 이 메서드는 입력 스트림에서 특정 바이트 수를 건너뛰거나 생략합니다.

사용 가능() 입력 스트림에 포함된 바이트를 제공합니다.
초기화() 마크가 설정된 스트림 포인트에 대한 액세스를 제공합니다.

표시() 이 메서드는 데이터를 읽을 때까지 스트림의 위치를 ​​표시합니다.

마크지원됨() 스트림에서 'mark()' 및 'reset()' 메서드가 지원/호환되는지 분석합니다.


예제로 이동하기 전에 'InputStream' 및 해당 하위 클래스와 함께 작동하도록 다음 패키지를 가져옵니다.

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


예: Java에서 InputStream 작업

이 예제는 'InputStream' 메서드를 통해 파일 내용을 읽어서 'InputStream'의 작업을 보여줍니다.

공개 클래스 입력 스트림 {
공공 정적 무효 메인 ( 문자열 인수 [ ] ) {
바이트 [ ] 주어진 배열 = 새 바이트 [ 오십 ] ;
노력하다 {
InputStream readData = 새로운 FileInputStream ( 'readfile.txt' ) ;
System.out.println ( '파일의 바이트 -> ' + readData.available ( ) ) ;
readData.read ( 주어진 배열 ) ;
System.out.println ( '파일 데이터 읽기: ' ) ;
문자열 포함 데이터 = 새 문자열 ( 주어진 배열 ) ;
System.out.println ( 포함 데이터 ) ;
readData.close ( ) ;
}
잡다 ( 예외 제외 ) {
except.getStackTrace ( ) ;
}
} }


위의 코드 라인에 따라 아래에 설명된 단계를 수행합니다.

    • 먼저 최대 ' 오십 ” 읽기 파일의 바이트 값.
    • 다음 단계에서 ' 입력 스트림 ” 'FileInputStream'을 사용하고 연관된 ' 사용 가능() ' 방법.
    • 그런 다음 '를 사용하여 입력 스트림에서 바이트를 읽습니다. 읽다() ' 방법.
    • 이제 바이트 배열을 문자열로 변환하고 파일 내용을 표시합니다.
    • 마지막으로 관련 '을 사용하여 읽기 파일을 닫습니다. 닫다() ' 방법.

산출


이 결과에서 파일의 바이트 수, 즉 콘텐츠에 의해 누적된 공간이 바이트 배열의 최대 범위 즉 '50'에 따라 반환됨을 암시할 수 있습니다. 또한 파일 내용이 적절하게 반환됩니다.

파일 내용


'에 대한 개요를 보려면 건너뛰다() ' 그리고 ' 초기화() ” 방법을 사용하려면 다음 데모를 고려하십시오.


이 그림에서 'skip()' 메서드는 지정된 바이트 수를 건너뜁니다. 5 -> 자바 ” 처음부터 파일 내용에서. 그러나 'reset()' 메서드는 스트림을 재설정합니다.

결론

입력 스트림 ”의 클래스 java.io ” 패키지는 파일 데이터를 읽는 데 사용되는 바이트의 입력 스트림에 해당하는 추상 슈퍼클래스입니다. 이 클래스는 요구 사항에 따라 효과적으로 파일의 읽기 방법을 지원하는 다양한 방법으로 구성됩니다. 이 블로그는 Java에서 'InputStream'의 목적과 작업을 설명했습니다.