본문 바로가기

Android/Function

InputStream 2번 이상 읽기

728x90
반응형

 

InputStream에 저장된 byte를 한번은 String으로, 한번은 image로 읽고 싶어

mark(), reset()을 활용했습니다.

//InputStream에서 nSize만큼 읽어 bis buffer에 저장한다.
BufferedInputStream bis = new BufferedInputStream(yourInputStream, nSize);

bis.mark(nSize); //위치를 mark한다.

BufferedReader reader = new BufferedReader(new InputStreamReader(bis, "UTF-8"));
String str = reader.readLine(); // String으로 읽는다.

bis.reset(); //위치를 mark한곳으로 다시 이동

imgBitmap = BitmapFactory.decodeStream(bis); // 다시 bis를 bitmap으로 읽는다.
                    
728x90
반응형