2013-07-09 3 views
0

내 프로그램의 이전 코드에서는 ObjectOutputStream 및 FileOutPutStream을 사용하여 파일에서 ArrayList (내 코드에서 볼 수있는 location이라는 사용자 정의 클래스의 객체로 구성됨)를 저장했습니다. 그러나 ObjectInputStream을 사용하여 파일에서 개체를 검색하려고 할 때 처리되지 않은 예외 (ClassNotFoundException)가 발생했다는 오류가 발생합니다.ObjectInputStream을 사용하여 파일에서 객체 읽기? ClassNotFoundException

여기에 내가 파일의 밖으로의 ArrayList를 얻기 위해 사용되는 코드는 다음과 같습니다

String file = "file"; 

ObjectInputStream input = new ObjectInputStream(new FileInputStream("file")); 



ArrayList<location> arrayList = new ArrayList<location>(); 
arrayList = (ArrayList) input.readObject(); 

오류가 나는 .readObject() 메서드를 호출 라인에 있습니다. 필자는 Java를 처음 접했을 때 도움을받을 것입니다. 고맙습니다!

+1

런타임시 스택 추적 및 모든 사항이 포함 된 예외가 발생하거나 IDE에서 빨간색 불규칙한 부분이 나타 납니까? 두 번째 경우 try-catch 블록을 사용하여 예외를 처리해야합니다. – user2357112

+0

런타임에 컴파일되지 않습니다. 컴파일 할 때 IDE에 표시됩니다. @ user2357112 –

답변

0

즉, 전송 한 클래스를 앱에서 찾을 수 없음을 의미합니다. 앱의 클래스 경로에 추가하거나 앱이 가지고있는 클래스 만 보내야합니다. 귀하의 경우, ArrayList가 항상 거기에 있기 때문에 누락 된 클래스는 ArrayList에있게됩니다.

신비한 일이 일어나지 않는다면 그 오류는 단지 그 뜻을 의미합니다.

예외로 인해 누락 된 클래스가 있으면 더 유용 할 것입니다. 나는 자바 7이 지금 이것을한다고 생각한다.

+2

피터가 맞습니다. 나는 AWT 클래스를 찾는다. java.awt.Point와 Rect는 라이브러리를 작성하거나 안드로이드 용 라이브러리를 사용하려고 할 때 자주 접하게됩니다. –

+0

방금 ​​사용하고있는 클래스가 동일한 패키지에 정의되어 있다는 것을 깨달았습니다. 클래스 경로를 추가 할 필요가 있습니까? @Peter –

+0

JAR 파일에 있는지 확인해야합니다. – EJP