/
Forside
/
Teknologi
/
Udvikling
/
Java
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Java
#
Navn
Point
1
molokyle
3688
2
Klaudi
855
3
strarup
740
4
Forvirret
660
5
gøgeungen
500
6
Teil
373
7
Stouenberg
360
8
vnc
360
9
pmbruun
341
10
mccracken
320
classLoader kan ikke loade while-løkker !!~
Fra :
Nikolaj
Dato :
15-12-00 15:08
Jeg har problemer med at loade en klasse ind fra en fil, men kun hvis den
indeholder en while-løkke
Prøv at kigge på følgende kode:
public static void main(String[] args) {
try {
// en instans af min egen klasse ClassFileLoader oprettes
// for at få adgang til den private metode defineClass
ClassFileLoader cfl = new ClassFileLoader();
Class c = cfl.loadAndDefineClass();
// printing the name of the class
System.out.println(c);
} catch (Throwable t) {
System.out.println(t);
}
}
loadAndDefineClass ser sådan ud. Det er metoden define class, der giver en
ClassFormatError.
public Class loadAndDefineClass() throws Exception {
// loading the classfile into a byte[]
Vector v = new Vector();
File f = new File("D:/TestClass.class");
FileInputStream is = new FileInputStream(f);
byte b = (byte) is.read();
while (b != -1) {
v.add(new Byte(b));
b = (byte) is.read();
}
byte[] bytes = new byte[v.size()];
for (int i = 0; i < v.size(); i++) {
bytes[i] = ((Byte) v.elementAt(i)).byteValue();
}
// trying to define the class (converting the byte[] into a
Class-object)
Class c = defineClass("TestClass", bytes, 0, bytes.length, null);
return c;
}
Klassen jeg prøver at loade ser sådan ud:
public class TestClass {
public void method() {
System.out.println("inside method");
double d = Math.random();
while(d<.9) {
System.out.println("d");
d = Math.random();
}
System.out.println("end of method");
}
}
Klassen compiler fint.
Hvis jeg udkommenterer while-løkken kan jeg loade og define mit
Class-objekt. Hvis while-løkken er der får jeg en ClassFormatError, der
angiver at byte[]'et ikke indeholder data svarende til en klasse..
HVORFOR????
Håber du kan hjælpe mig.
Nik
Søg
Alle emner
Teknologi
Udvikling
Java
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177552
Tips :
31968
Nyheder :
719565
Indlæg :
6408847
Brugere :
218887
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.