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

readObject() 에서 오루가 납니다...

0 추천
private void readTree(){
		
		final String f = //파일 경로

		FileInputStream fisTree = null;
		ObjectInputStream oisTree = null;
		try {
		fisTree
			= new FileInputStream(f);
		oisTree
			= new ObjectInputStream(fisTree);
		chosungTree = (Tree)oisTree.readObject();//이부분에서 에러가 납니다...
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (StreamCorruptedException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}finally{
			if(fisTree != null)
				try {
					fisTree.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			if(oisTree != null)
				try {
					oisTree.close();
				} catch (IOException e) {
				e.printStackTrace();
				}
		}
		
		
	}
		chosungTree = (Tree)oisTree.readObject();//이부분에서 에러가 납니다...

저 object는 우분투에서 만들어서 파일만 메모리에 넣어준건데 그게 문제가 될까요?

같은 코드가 우분투에서는 잘돌아가는데 에러나니 참 답답하네요.

11-26 00:13:31.227: E/AndroidRuntime(22089): java.lang.StackOverflowError


이렇게 에러가 납니다.

 

조언 부탁드립니다. 감사합니다^^

익명사용자 님이 2014년 11월 26일 질문

1개의 답변

0 추천
1. 클래스명을 봐서는 자료구조 자체를 serialize 한 것 같은데, 그러면 정상동작하지 않을 수 있습니다. 해당 자료구조의 데이터만 serialize했다가 복원하세요.

2. javaVM에서 serialize하여 안드로이드 dalvik에서 복원하는게 정상동작할지 알 수 없습니다.

3. effective java 라는 책을 보시기 바랍니다. serialize관련하여 매우 설명이 잘 되어 있습니다.
익명사용자 님이 2014년 11월 26일 답변
...