마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

동영상 파일 다운로드시 헤드 값의 바이트 배열을 가장 먼저 받아오나요?

0 추천
HttpUrlConnetion을 사용해서 동영상 파일을 받아오고 있습니다. 동영상 파일을 받아 올때 헤더도 받아올텐데요.

이 헤더값의 사이즈가 18이라면, 바이트 배열에 파일을 스트림할 때 가장 먼제 들어오는 바이트 18개가 헤더값을 포함하고 있는 건가요? 아니면 랜덤하게 받아오나요?

혹시 RandomAccessFile 객체를 사용해서 파일을 생성할 때라면 바이트 배열이 랜덤하게 들어오나요?

혹시 아시는 분은 혜안을 부탁드립니다 감사합니다!
준버기 (1,160 포인트) 님이 2018년 7월 6일 질문

1개의 답변

+1 추천
 
채택된 답변

1. 이 헤더값의 사이즈가 18이라면, 바이트 배열에 파일을 스트림할 때 가장 먼제 들어오는 바이트 18개가 헤더값을 포함하고 있는 건가요? 아니면 랜덤하게 받아오나요? 

=> HttpUrlConnetion 경우 InputStream 형식으로 read하니 순서대로 read 되서 맨 18byte에 헤더 값이 포함 될 겁니다. 

특히 받은 동영상이  mp4 이라면   헤더 사이즈 4 바이트(이 경우 18 byte), 박스 타입(보통 ftyp box) 4 바이트, 박스 데이터.. 로 해서 18 byte가 순서대로 read 가 될 겁니다.

(단  파서에서 HttpUrlConnetion 의  InputStream 를 다이렉트로 받아 read 할 경우 mp4 기준 

헤더 사이즈 4 바이트(이 경우 18 byte), 박스 타입 4 바이트 를 읽고 뒤의 값을 확인 안하고 skip 해서, 다음 box 헤더를 읽을 수도 있습니다.)

2.  RandomAccessFile 객체를 사용해서 파일을 생성할 때라면 바이트 배열이 랜덤하게 들어오나요? 

=> RandomAccessFile 클래스는 seek을 지원하는 클래스일 분, 데이터는 순서대로 읽습니다.

RandomAccessFile.seek이 호출 되면, 호출 된 위치 부터 읽을테구요. 

 

 

익명사용자 님이 2018년 7월 6일 답변
준버기님이 2018년 7월 6일 채택됨
답변 감사합니다! 왠지 항상 답변 달아주시는 분 같은 느낌이..
...