자바에서 바이트 배열을 InputStream으로 변환 할 수 있습니까?


129

자바에서 바이트 배열을 InputStream으로 변환 할 수 있습니까? 인터넷에서 찾고 있었지만 찾을 수 없었습니다.

InputStream을 인수로 사용하는 메소드가 있습니다.

cph내가 가지고 있는 InputStream 은 base64로 인코딩되어 있으므로 다음을 사용하여 디코딩해야했습니다.

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);

이제 어떻게 decodedBytes다시 변환 InputStream합니까?


1
API 문서 페이지 상단의 "사용"링크는 이러한 종류의 문제에 매우 유용합니다.
— Tom Hawtin-tackline

답변:



4

Robert Harder의 Base64 유틸리티 를 사용하는 경우 다음을 수행 할 수 있습니다.

InputStream is = new Base64.InputStream(cph);

또는 sun의 JRE를 사용하면 다음을 수행 할 수 있습니다.

InputStream is = new
com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)

그러나 그 수업이 JRE의 일부가되거나 오늘날의 일을 계속하는 것에 의존하지 마십시오. 태양은 그것을 사용하지 말라고합니다.

이와 같은 Base64 디코딩에 대한 다른 스택 오버플로 질문 이 있습니다.


10
개인 클래스 인 선 클래스를 사용하지 마십시오. 언제든지 변경 될 수 있으므로 사용해서는 안됩니다.
— mP.

심각한 경고를 포함하도록 답변을 편집하겠습니다. 문제의 코드는 이미 사용 BASE64Decoder중인 것으로 추정됩니다sun.misc.BASE64Decoder
— Stephen Denne
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.