Java에서 입력 스트림을 문자열로 읽거나 변환하는 방법은 무엇입니까? - 여섯 가지 쉬운 방법
6759 단어 javatutorialbeginnersprogramming
이 자습서에서는 Java에서 InputStream을 문자열로 읽거나 변환하는 간단하고 직접 선택한 방법에 대해 설명합니다.
프로젝트 구성에 따라 다음 방법 중 하나를 사용할 수 있습니다.
이 자습서의 목적을 위해 "inputStream"이 InputStream 유형의 변수라고 가정합니다.
InputStream inputStream;
아래 방법을 확인하세요.
1. Java 1.8+ 내장 스트림 패키지 사용:
String result = new BufferedReader(new InputStreamReader(inputStream))
.lines().collect(Collectors.joining("\n"));
이 방법은 Java 1.8 이상에서 작동합니다.
2. 네이티브 자바 스캐너 방식:
try (Scanner scanner = new Scanner(inputStream).useDelimiter("\\A")) {
String result = scanner.hasNext() ? scanner.next() : "";
}
"\A"는 useDelimiter 스캐너 메서드의 정규식 패턴을 나타냅니다.
"\A"는 문자열의 시작을 의미합니다! . 따라서 이 패턴이 제공되면 전체 스트림이 스캐너 개체로 준비됩니다.
3. Apache commons-io IOU 방법:
String result = IOUtils.toString(inputStream);
이 방법의 경우 Apache commons-io 라이브러리가 프로젝트에 포함되어야 합니다. 아래 maven에 포함시킬 수 있습니다.
maven 링크.
4. Google 구아바 라이브러리 사용:
String result = CharStreams.toString(new InputStreamReader(inputStream));
이 방법을 사용하려면 Guava 라이브러리가 프로젝트에 포함되어야 합니다. 아래 maven에 포함시킬 수 있습니다.
maven 링크
5. 스프링 부트 스타일:
String content = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);
프로젝트에 스프링 부트 프레임워크를 사용하는 경우 이를 사용할 수 있습니다. 스프링 부트를 포함하려면 아래를 사용할 수 있습니다.
maven 레포
6. 일반 이전 ByteArrayOutputStream 방식:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
baos.write(buffer, 0, length);
}
String result = baos.toString();
유틸리티 메서드 없이 실제 InputStream을 가지고 놀고 싶다면 위의 스타일을 사용할 수 있습니다.
보너스: Java에서 간단한 방법으로 파일을 문자열로 읽고 쓰는 방법: https://tipseason.com/how-to-read-file-as-string-in-java/
올바른 질문 세트를 연습하지 않으면 기술 인터뷰가 어려울 수 있습니다. 일일 인터뷰 연습 질문은 당사group를 따르십시오.
Reference
이 문제에 관하여(Java에서 입력 스트림을 문자열로 읽거나 변환하는 방법은 무엇입니까? - 여섯 가지 쉬운 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tipseason/how-to-read-or-convert-an-inputstream-into-a-string-in-java-six-easy-ways-4f5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)