English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 예제에서는 입력 스트림을 Java의 바이트 배열로 변환하는 방법을 배웁니다.
이 예제를 이해하기 위해, 다음을 이해해야 합니다.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() 메서드를 사용하여 전체 배열을 문자열로 변환했습니다.
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라는 바이트 배열로 변환합니다.