ByteBuffer buf = ByteBuffer.allocate(sizeInt);
Log.e( "전체크기2" , "" +sizeInt);
for ( int i= 0 ; i<savePrice.length; i++)
{
if (i== 0 )
{
for ( int j= 4 ; j< 16 ; j++)
{
buf.put(savePrice[i][j]);
}
}
else if (i==savePrice.length- 1 )
{
for ( int j= 2 ; j< 16 ; j++)
{
if (savePrice[i][j]==( byte ) 0x80 )
{
Log.e( "같음!" , "break!" );
break ;
}
else
{
buf.put(savePrice[i][j]);
}
}
}
else
{
for ( int j= 2 ; j< 16 ; j++)
{
buf.put(savePrice[i][j]);
}
}
}
|
특정 갯수(sizeInt)만큼 bytebuffer 크기를 지정하고,
2차원배열 savePrice에 있는 값을 특정범위만 지정해서 buffer에 넣는 작업을 하고있습니다.
간혹 java.nio.BufferOverflowException 과 같은 오류가 뜨면서 결과값이 출력되지 않습니다.
정상적으로 값이 다 들어간 경우엔 break로 for문을 빠져나오고, 제대로 값이 출력되는데요.
10번에 1,2번 정도 이 오류가 뜹니다. overflow라고 하는거보니 용량제한쪽 오류인거같은데,
자세히 아시는 분 있으신가요? 긴 글 읽어주셔서 감사합니다^^