Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 InputStream의 readAllBytes() 메서드는 언제 사용합니까?

<시간/>

Java 9부터 readAllBytes()를 사용할 수 있습니다. InputStream 의 메소드 모든 바이트를 바이트 배열로 읽는 클래스. 이 메서드는 InputStream 개체에서 모든 바이트를 읽습니다. 한 번에 그리고 나머지 바이트가 모두 읽고 스트림의 끝이 감지될 때까지 차단되거나 예외가 throw됩니다.

realAllBytes() 메소드는 InputStream 을 자동으로 닫을 수 없습니다. 사례. 스트림의 끝에 도달할 수 있을 때 이 메서드를 추가로 호출하면 빈 바이트 배열이 반환될 수 있습니다. 모든 바이트를 바이트 배열로 읽는 간단한 사용 사례에 이 방법을 사용할 수 있습니다. 많은 양의 데이터가 있는 입력 스트림을 읽기 위한 것이 아닙니다.

구문

public byte[] readAllBytes() throws IOException

아래 예에서는 "Technology.txt" "C:\Temp" 파일 간단한 데이터가 있는 폴더:{ "JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"}.

예시

import java.nio.*;
import java.nio.file.*;
import java.io.*;
import java.util.stream.*;
import java.nio.charset.StandardCharsets;

public class ReadAllBytesMethodTest {
   public static void main(String args[]) {
      try(InputStream stream = Files.newInputStream(Paths.get("C://Temp//Technology.txt"))) {
         // Convert stream to string
         String contents = new String(stream.readAllBytes(), StandardCharsets.UTF_8);

         // To print the string content
         System.out.println(contents);
      } catch(IOException ioe) {
         ioe.printStackTrace();
      }
   }
}

출력

"JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"