Я следовал примеру по следующей ссылке:
http://www.javaworld.com/javaworld/jw-10-1996/jw-10-indepth.html?page=1
и это вывод, который я получаю:
This program will use SimpleClassLoader.
>>>>>> Load class : TestClass
>>>>>> Not a system class.
>>>>>> Fetching the implementation of TestClass
file was read successfully
Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value 1768779887 in class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at aha.SimpleClassLoader.loadClass(SimpleClassLoader.java:80)
at aha.SimpleClassLoader.loadClass(SimpleClassLoader.java:42)
at aha.Example.main(Example.java:11)
вот пример моего метода, который читает файл:
private byte getClassImplFromDataBase(String className)[] {
System.out.println(" >>>>>> Fetching the implementation of "+className);
byte result[];
try {
FileInputStream fi = new FileInputStream("C:/delete/"+className+".impl");
result = new byte[fi.available()];
fi.read(result);
System.out.println("file was read succesfullyl");
return result;
} catch (Exception e) {
/*
* If we caught an exception, either the class wasnt found or it
* was unreadable by our process.
*/
return null;
}
}
Я поместил файл TestClass.impl в каталог C: / delete.
Мои занятия проживают в пакете: ага
Итак, файл TestClass.impl читается нормально, но что-то происходит во время
result = defineClass (classData, 0, classData.length);
Я знаю, что этот метод устарел, но все же ??