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

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


자바 9부터 readNBytes() 메소드를 InputStream 에 추가할 수 있습니다. 수업. 이 메서드는 입력 스트림에서 요청된 바이트 수를 지정된 바이트 배열로 읽습니다. . 이 메서드는 len 바이트까지 차단합니다. 의 입력 데이터가 읽혔거나 스트림의 끝이 감지되었거나 예외가 발생했습니다. readNBytes() 메소드는 입력 스트림을 닫지 않습니다. 이 방법은 메모리 를 방지하는 데 유용할 수 있습니다. 문제 대용량 파일로.

구문

public int readNBytes(byte[] b, int off, int len) throws IOException


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

예시

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

public class InputStreamReadNByteMethodTest {
   InputStream inputStream = nputStreamReadNByteMethodTest.class.getResourceAsStream("Technology.txt");

   public void testReadNBytes() throws Exception {
      final byte[] data = new byte[10];
      inputStream.readNBytes(data, 0, 7);
      System.out.println(new String(data));
   }
   public static void main(String args[]) throws Exception {
      InputStreamReadNByteMethodTest t = new InputStreamReadNByteMethodTest();
      t.testReadNBytes();  
   }
}

출력

"JAVA",