2012-09-13 6 views
0

Java 서버와 Android 클라이언트가 있습니다. 서버는 파일의 차원을 클라이언트에 보냅니다. 클라이언트는 in.readObject() 객체를받습니다.Object를 int로 캐스팅하는 중 오류가 발생했습니다.

in.readObject()에 의해 반환 된 객체를 int로 캐스팅해야합니다. 내가 할 경우

int filesize = (Integer) in.readObject() 

시간을 컴파일하지만 안드로이드 클라이언트 실행시 문제가 없는지 오류 또는 경고없이 중지합니다. 받은 개체를 로깅하려고하면 올바르게 전송 된 파일 크기가 표시됩니다.

+1

in.readInt()를 시도 했습니까? ? – david99world

+2

in.readObject()에 의해 반환되는 클래스는 무엇입니까? –

+0

Try Integer.valueOf (in.readInt()); –

답변

2

스트림에서 응답으로 객체를 가져옵니다. 먼저 객체에 캐스트 한 다음 원하는대로 입력해야합니다.

Object tempObject = (Object)in.readObject() ; 

    int filesize = Integer.valueOf(tempObject.toString()); 
+0

@assylias : 좋습니다. String으로 변경되었습니다. – kosa

+0

최상의 솔루션은 아니지만 작동 할 수 있습니다 ... 그런데 Object에 캐스트 할 필요가 없습니다. –

+0

@assylias : 어떤 점에서 이런 식으로 일하는 것을 기억합니다. 내 대답을 벗기는 것이 틀 렸으면. – kosa

관련 문제