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

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

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

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

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

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



답변

사용 ByteArrayInputStream:

InputStream is = new ByteArrayInputStream(decodedBytes);


답변

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 디코딩에 대한 다른 스택 오버플로 질문 이 있습니다.


답변