NullPointerException
-
hi,
ic bekomme immer ein NullpointerException
bei drivers[i].list().length
warum ???? was hab eich falsch getan
[java]
File[] drivers = File.listRoots();rootSystem = new DefaultMutableTreeNode("Test");
for(int i= 0; i < drivers.length; i++){
String driverName = drivers[i].toString();
driverName.substring(0,driverName.length());}
child = new DefaultMutableTreeNode(name);
for(int j =0; j < drivers[i].list().length; j++){
subChild = new DefaultMutableTreeNode(drivers[i].list()[j]);
child.add(subChild);
}
rootSystem.add(child);return ...
}[/code]
-
i und j sind Schleifenvariablen die es innerhalb von Schleifen gibt.
-
danke für die Antwort aber ich verstehe Bahnohof
kannst es deutlicher erklären
Danke
-
Kommt dir diese Zeile nicht auch etwas komisch vor?
Welchen Wert hat i hier?[java]for(int j =0; j < drivers[i].list().length; j++){[/code]
-
driverName.substring(0,driverName.length());
Diese Zeile ist absolut sinnlos.
Ich würde dir empfehlen die Methode list() nicht jedesmal aufzurufen, sondern ihr Ergebnis in einem Array zwischenzuspeichern. Das sollte dann Rechenzeit und auch RAM sparen.Ich weiß nicht, wie list() nu wirklich implementiert ist, aber ich denke mal, dass es das Verzeichnis jedesmal neu ausliest.[java]String[] elements = drivers[i].list();
for(int j =0; j < elements.length; j++){
subChild = new DefaultMutableTreeNode(elements[j]);
child.add(subChild);
}[/code]OT: Der Variablenname driverName weist nicht unbedingt auf ein Laufwerk sondern eher auf einen Treiber hin
[Edit]
ic bekomme immer ein NullpointerException
bei drivers[i].list().length@CengizS:
Ich glaube nicht, dass es an dem i liegt. Ich denke mal, dass er den Source falsch gepostet hat. Wenn es nun wirklich an dem i liegen würde, dann wäre das nicht kompilierbar. NullPointerExceptions können ja bei ints nicht kommen. (Das wird ja beim kompilieren gemerkt.@swing: Wenn du hier eine NullPointerException bekommst, dann liegt das daran, dass dir die methode list() null zurückgegeben hat und du natürlich dann nicht die Methode length() anwenden kannst. Wann genau die Methode list(9 null zurückgibt sagt dir die APIDoc:
> Returns null if this abstract pathname does not denote a directory, or if an I/O error occurs.[/Edit][ Dieser Beitrag wurde am 01.07.2003 um 19:34 Uhr von destruct0r editiert. ]