반응형
[Java 실습 #17] InputStream을 ByteArray로 변환
1. 자바에서 InputStream을 ByteArray로 변환
2. 개발환경
2.1. 개발환경
2.2. 라이브러리
3. 구현
3.1. 프로젝트 구조
3.2. 파일 - 텍스트 파일
3.3. 구현 - 소스코드
4. 결과
1. 자바에서 InputStream을 ByteArray로 변환
2. 개발환경
2.1. 개발환경
MacOS M1 - macOS Monterey 12.0.1
IntelliJ IDEA 2021.2 (Community Edition)
2.2. 라이브러리
JDK 1.8
3. 구현
3.1. 프로젝트 구조
3.2. 파일 - 텍스트
1
2
3
4
5
6
7
|
package io.home.test;
public class InputStreamToByteArray {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
|
3.3. 구현 - 소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package io.home.test;
import java.io.*;
import java.nio.charset.StandardCharsets;
public class InputStreamToByteArray {
private static final String USER_DATA_PATH = "resource";
private static final String USER_DATA_FILE_NAME = "sample-data.txt";
private byte[] bytes;
private void readUserData() {
String filePath = "/" + USER_DATA_PATH + "/" + USER_DATA_FILE_NAME;
InputStream is = InputStreamToByteArray.class.getResourceAsStream(filePath);
if (is == null) throw new RuntimeException("No data in " + filePath);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// byte[] buffer = new byte[0xFFFF]; // 65535
byte[] buffer = new byte[1024];
try {
// for (int len = is.read(buffer); len != -1; len = is.read(buffer)) {
// baos.write(buffer, 0, len);
// }
int len;
while ((len = is.read(buffer)) > -1) {
baos.write(buffer, 0, len);
}
} catch (IOException ioe) {
}
bytes = baos.toByteArray();
}
public static void main(String[] args) {
InputStreamToByteArray inputStreamToByteArray = new InputStreamToByteArray();
inputStreamToByteArray.readUserData();
String result = new String(inputStreamToByteArray.bytes, StandardCharsets.UTF_8);
System.out.println(result);
}
}
|
4. 결과
반응형
'JAVA 자바 > JAVA 실습' 카테고리의 다른 글
[Java 실습 #18] InputStream 재사용 (2) - ByteArray에 저장하여 사용 (0) | 2021.12.29 |
---|---|
[Java 실습 #18] InputStream 재사용 (1) - mark, reset 활용 (0) | 2021.12.29 |
[Java 실습 #16] 마지막 구분자 뒤의 문자열 추출 (0) | 2021.12.26 |
[Java 실습 #15] 배열 출력하기 (0) | 2021.12.26 |
[Java 실습 #14] 파일 입출력(IO) - CSV 파일 데이터를 객체(Object)에 매핑 (2) - commons-csv 활용 (0) | 2021.12.25 |