English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 프로세스 제어

Java 배열

Java 대상 지향(I)

Java 대상 지향(II)

Java 대상 지향(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램은 InputStream을 바이트 배열(bytearray)로 변환합니다.

Java 예제 전체

이 예제에서는 입력 스트림을 Java의 바이트 배열로 변환하는 방법을 배웁니다.

이 예제를 이해하기 위해, 다음을 이해해야 합니다.Java 프로그래밍주제:

예제1:InputStream을 바이트 배열로 변환하는 Java 프로그램

import java.io.InputStream;
import java.util.Arrays;
import java.io.ByteArrayInputStream;
public class Main {
  public static void main(String args[]) {
    try {
      //입력 스트림을 생성합니다
      byte[] input = {1, 2, 3, 4};
      InputStream stream = new ByteArrayInputStream(input);
      System.out.println("Input Stream: " + stream);
      //입력 스트림을 바이트 배열로 변환합니다
      byte[] array = stream.readAllBytes();
      System.out.println("바이트 배열: " + Arrays.toString(array));
      stream.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

출력 결과

Input Stream: java.io.ByteArrayInputStream@27082746
바이트 배열: [1, 2, 3, 4]

위 예제에서 stream이라는 이름의 입력 스트림(InputStream)을 생성했습니다. 주의하세요 이 줄이요:

byte[] array = stream.readAllBytes();

여기서 readAllBytes() 메서드가 스트림에서 모든 데이터를 반환하고 바이트 배열에 저장됩니다.

주의:Arrays.toString() 메서드를 사용하여 전체 배열을 문자열로 변환했습니다.

예제2:InputStream을 바이트 배열로 변환하여 출력 스트림을 사용합니다

import java.io.InputStream;
import java.util.Arrays;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
public class Main {
  public static void main(String args[]) {
    try {
      //입력 스트림을 생성합니다
      byte[] input = {1, 2, 3, 4};
      InputStream stream = new ByteArrayInputStream(input);
      System.out.println("Input Stream: " + stream);
      //출력 스트림을 생성합니다
      ByteArrayOutputStream output = new ByteArrayOutputStream();
      //입력 스트림을 저장하기 위한 바이트 배열을 생성합니다
      byte[] array = new byte[4];
      int i;
      //입력 스트림에서 모든 데이터를 배열에 읽습니다
      while ((i = stream.read(array, 0, array.length)) != -1) {
        //배열에 있는 모든 데이터를 출력에 쓰습니다
        output.write(array, 0, i);
      }
      byte[] data = output.toByteArray();
      //입력 스트림을 바이트 배열로 변환합니다
      System.out.println("Byte Array: ") + Arrays.toString(data));
      stream.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

출력 결과

Input Stream: java.io.ByteArrayInputStream@27082746
Byte Array: [1, 2, 3, 4]

위의 예제에서, 우리는 array에서 input 스트림을 생성합니다. 주의할 점은 다음과 같습니다:

stream.read(array, 0, array.length)

여기서, 스트림의 모든 요소가 배열에 저장되어 있습니다. 인덱스 0부터 시작합니다. 그런 다음, 배열의 모든 요소를 output이라는 출력 스트림에 저장합니다.

output.write(array, 0, i)

마지막으로, 우리는 ByteArrayOutputStream 클래스의 toByteArray() 메서드를 호출하여 출력 스트림을 data라는 바이트 배열로 변환합니다.

Java 예제 전체