سؤال

هل يمكننا تحويل صفيف بايت إلى inputstream في Java؟ لقد كنت أبحث على الإنترنت لكنني لم أجدها.

لدي طريقة لها إدخال Stream كوسيطة.

المدخلات cph لقد تم ترميز BASE64 لذا اضطررت إلى فك تشفيره باستخدام

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

الآن كيف يمكنني تحويل decodedBytes مرة أخرى ل InputStream?

هل كانت مفيدة؟

المحلول

يستخدم ByteArrayInputStream:

InputStream is = new ByteArrayInputStream(decodedBytes);

نصائح أخرى

كما ترى فائدة Robert Harder's Base64, ، ثم يمكنك أن تفعل:

InputStream is = new Base64.InputStream(cph);

أو مع Sun's Jre ، يمكنك القيام به:

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

ومع ذلك ، لا تعتمد على استمرار هذا الفصل في أن تكون جزءًا من JRE ، أو حتى الاستمرار في فعل ما يبدو أنه يفعله اليوم. تقول صن لا لاستخدامه.

هناك أسئلة أخرى في التدفق المكدس حول فك تشفير BASE64 ، مثل هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top