자바에서 바이트 배열을 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.