public static Reservation[] openBinaryFile(String fileName)
{
Reservation [] objArray = null;
try
{
ObjectInputStream inStream = new ObjectInputStream(
new FileInputStream(fileName));
objArray = (Reservation[])inStream.readObject();
inStream.close();
}
catch(ClassNotFoundException e)
{
System.out.println("Exception: ClassNotFoundException.");
}
У меня есть класс, но почему я получаю исключение? Класс находится в том же пакете, что и другие. Почему я получаю это исключение?Java - ClassNotFoundException У меня есть класс, но почему я получаю исключение?
EDIT: Вот трассировки стека пробег: java.lang.ClassNotFoundException: Бронирование в java.net.URLClassLoader $ 1.Run (URLClassLoader.java:200) на java.security.AccessController.doPrivileged (Native Метод) at java.net.URLClassLoader.findClass (URLClassLoader.java:188) в java.lang.ClassLoader.loadClass (ClassLoader.java:307) at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java: 301) на java.lang.ClassLoader.loadClass (ClassLoader.java:252) на java.lang.ClassLoader.loadClassInternal (ClassLoader.java:320) на java.lang.Class.forName0 (Native Meth od) at java.lang.Class.forName (Class.java:247) at java.io.ObjectInputStream.resolveClass (ObjectInputStream.java:604) at java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1575) на java.io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1496) в java.io.ObjectInputStream.readArray (ObjectInputStream.java:1624) в java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1323) на java.io.ObjectInputStream.readObject (ObjectInputStream.java:351) на myViewer.DatabaseFile.openBinaryFile (DatabaseFile.java:42) на myViewer.Viewer. (Viewer.java:175) на myViewer.Viewer.main (просмотрщик .java: 188)
В вашей статье catch отбрасывается вся важная информация, а именно WHICH CLASS не найдена, и какое утверждение вызвало исключение. Попробуйте распечатать трассировку стека и опубликуйте результат. –
Что-то не так в этом примере. Если JVM не знает, что такое «Резервация», она не пройдет мимо объявления массива. – danben
В настоящее время вы не распечатываете содержимое исключения, а это значит, что вы действительно не знаете, какой класс не найден. Возможно, это зависит от сериализованного файла. В общем, когда вы поймаете исключение и запишите его, вы должны * всегда * распечатывать сообщение об исключении. –