Java에서 InputStream을 문자열로 변환
-
Stream
API를 사용하여InputStream
을String
으로 변환 -
ByteArrayOutputStream
을 사용하여 InputStream을 읽거나 문자열로 변환 -
Apache Commons의
IOUtils.toString
을 사용하여 InputStream을 읽거나 문자열로 변환
이 튜토리얼에서는 Java에서 InputStream을 String으로 변환하는 방법에 대해 설명합니다. InputStream은 읽기와 같은 여러 작업을 수행하는 데 사용할 수있는 바이트 스트림입니다. 일반적으로 모든 것을 바이트 단위로 포함하는 클래스입니다. 이 바이트 스트림을 다른 유형의 데이터로 변환하려면 특정 메서드를 사용해야 할 수 있습니다.
여기서는InputStream
을 Java에서 문자열로 읽거나 변환 할 수있는 몇 가지 방법을 살펴 보겠습니다.
Stream
API를 사용하여InputStream
을String
으로 변환
Java 8의 일부인Stream
API를 사용하여InputStream
을 문자열로 변환 할 수 있습니다.InputStreamReader
는 inputStream을 읽고BufferedReader().lines()
는이InputStream
을 String
의 스트림. 보시다시피Collectors.joining()
은 스트림의 모든 문자열을 결합한 다음 단일 문자열을 반환하는 데 사용됩니다.
package com.company;
import java.io.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.io.IOUtils;
public class Main {
public static void main(String[] args) {
try {
InputStream inputStream = new FileInputStream("java/sampleFile.txt");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
Stream<String> streamOfString = new BufferedReader(inputStreamReader).lines();
String streamToString = streamOfString.collect(Collectors.joining());
System.out.println(streamToString);
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
This is a sample text file
ByteArrayOutputStream
을 사용하여 InputStream을 읽거나 문자열로 변환
우리는InputStream
이 바이트로 구성되어 있다는 것을 알고 있으므로readInputStream
을 바이트 배열로 변환하는ByteArrayOutputStream
클래스를 사용할 수 있습니다. 그런 다음toString()
을 사용하여이 바이트 배열을 문자열로 변환 할 수 있습니다.
package com.company;
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
InputStream readInputStream = new FileInputStream("java/sampleFile.txt");
String encoding = "UTF-8";
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] byteSize = new byte[1024];
int length;
while ((length = readInputStream.read(byteSize)) != -1) {
byteArrayOutputStream.write(byteSize, 0, length);
}
System.out.println(byteArrayOutputStream.toString(encoding));
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
This is a sample text file
Apache Commons의IOUtils.toString
을 사용하여 InputStream을 읽거나 문자열로 변환
작업을 쉽게하기 위해 Apache Commons 라이브러리에 포함 된IOUtils.toString
함수를 사용할 수 있습니다. Apache Commons Library를 사용하기 위해 프로젝트에이 종속성을 포함 할 수 있습니다.
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
아래 예에서는 먼저 텍스트 파일 인InputStream
을 생성 한 다음InputStream
과 스트림 변환에 사용할 인코딩을받는IOUtils.toString()
메서드를 호출합니다. 우리는 보편적으로 사용되는 UTF-8 인코딩을 사용하고 있습니다.
package com.company;
import java.io.*;
import org.apache.commons.io.IOUtils;
public class Main {
public static void main(String[] args) {
try {
InputStream inputStream = new FileInputStream("java/sampleFile.txt");
String steamToString = IOUtils.toString(inputStream, "UTF-8");
System.out.println(steamToString);
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
This is a sample text file
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn관련 문장 - Java String
- Java 문자열을 바이트로 변환하는 방법
- Java에서 16 진 문자열의 바이트 배열을 변환하는 방법
- Java에서 문자열 대 문자열 배열 변환을 수행하는 방법
- Java에서 문자열에서 부분 문자열을 제거하는 방법
- Java에서 임의 문자열 생성
- Java의 스왑 방법