Laufzeitfehler: NullPointerException

Status
Nicht offen für weitere Antworten.

webstarg

Mitglied
Hallo Community,

ich verstehe nicht, wieso ich bei folgendem Codeausschnitt diese Exception erhalte:

Code:
public void loadFiles(String directory)
	{
		File f = new File(directory);
		if (! f.isDirectory())
		{
			files.add(f.getName());
		}
		else
		{
			for(File file: f.listFiles())
			{
				loadFiles(file.getName());
			}
		}
	}

files ist eine weiter oben instanzierte List<string>.
Der Parameter directory könnte z. B. "C:\" sein (wobei ich das Zeichen "\" "escaped" habe).
Die Methode ist rekursiv.

Fehlercode:
Code:
Exception in thread "main" java.lang.NullPointerException
	at java.io.File.<init>(Unknown Source)
	at FileSystem.loadFiles(FileSystem.java:28)
	at FileSystem.<init>(FileSystem.java:12)
	at MainClass.main(MainClass.java:15)

Vielen Dank im Voraus!

grüße
webstarg[/code]
 

musiKk

Top Contributor
Die Rekursion funktioniert bei mir zwar nicht, aber ich erhalte auch keine NullPointerException. Es wäre mal gut zu wissen, auf welche Zeile sich die Exception im Stück oben bezieht.
 

webstarg

Mitglied
Hallo musiKk,

danke für deine Antwort.

Es wäre mal gut zu wissen, auf welche Zeile sich die Exception im Stück oben bezieht.

Code:
at FileSystem.loadFiles(FileSystem.java:28)
bezieht sich auf:
Code:
File f = new File(directory);
(in der Methode loadFiles(String directory))

Code:
at FileSystem.<init>(FileSystem.java:12)
bezieht sich auf:
Code:
this.loadFiles(path);
(Aufruf dieser Methode aus dem Konstruktor dieser Klasse)

Code:
at MainClass.main(MainClass.java:15)
bezieht sich auf:
Code:
FileSystem fs = new FileSystem("C:\\");
(Instanz der Klasse FileSystem in der Klasse MainClass in der statischen main-Methode erstellen)

mfg
webstarg
 

diggaa1984

Top Contributor
glaub es ist besser wennu die Klasse insgesamt zeigen könntest, bzw wenn zu ausladend zumindest kontruktor und membervariablen
 

musiKk

Top Contributor
Besser ist das. Ich kanns nicht nachvollziehen. Habs einfach rauskopiert und es gibt keinen Fehler. Wenn man den rekursiven Aufruf auch noch in
Code:
loadFiles(file.getAbsolutePath());
ändert, dann funktioniert das ganze sogar. ;)
 

webstarg

Mitglied
Ok.

Klasse: MainClass (da ist noch nicht viel objektorientiert; kommt noch ;-))
Code:
import javax.swing.*;
import java.awt.*;

public class MainClass 
{
	JFrame jf = new JFrame("JFrame");
	JProgressBar pb = new JProgressBar(0, 100);
	
	public static void main(String[] args) 
	{
		MainClass mc = new MainClass();
		mc.defineFrame();

		FileSystem fs = new FileSystem("C:\\");
		
	}
	
	public void defineFrame()
	{
		jf.setVisible(true);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setPreferredSize(new Dimension(600, 200));
		
		pb.setLocation(10, 10);
		pb.setVisible(true);
		pb.setStringPainted(true);
		pb.setValue(66);
		
		jf.add(pb, BorderLayout.PAGE_START);
		jf.pack();
	}
}

Klasse: FileSystem (ist aber noch unfertig, daher könnten einige Sachen noch keinen Sinn ergeben)
Code:
import java.io.*;
import java.util.*;

public class FileSystem 
{
	String path;
	List<String> files = new ArrayList<String>();
	
	public FileSystem(String file)
	{
		this.path = path;
		this.loadFiles(path);
	}
	
	public String[] getFiles()
	{
		//return files.toArray(new String[0]);
		return new String[] {};
	}
	
	public void setPath(String path)
	{
		this.path = path;
	}
	
	public void loadFiles(String directory)
	{
		File f = new File(directory);
		if (! f.isDirectory())
		{
			files.add(f.getName());
		}
		else
		{
			for(File file: f.listFiles())
			{
				loadFiles(file.getName());
			}
		}
	}
}

grüße
webstarg
 

musiKk

Top Contributor
Der Konstruktor funktioniert so nicht. Du übergibst einen String, machst aber nichts mit dem. Die Variable path ist uninitialisiert (und daher null) und loadFiles(null) liefert folgerichtig die NullPointerException.
Code:
public FileSystem(String file) 
   { 
      this.path = file; 
      this.loadFiles(path); 
   }
So sollte es laufen (und mit der anderen Änderung, die ich drei Posts weiter oben erwähnt habe).
 

musiKk

Top Contributor
Oh, ein kurzer Nachtrag noch: this.path = path muss ja kein Fehler sein, wenn man das wie folgt anwendet:
Code:
public FileSystem(String path) 
   { 
      this.path = path; 
      this.loadFiles(path); 
   }
und diese Schreibweise ist eigentlich auch die gebräuchlichere. Keine Ahnung, warum ich das eben anders gemacht habe.
 

diggaa1984

Top Contributor
aber sone fehler werden teilweise von IDE's angezeigt, wenn auch als Warnung. Da so etwas in dem Fall absolut 0 Sinn macht ist wie: x=x
 

webstarg

Mitglied
musiKk hat gesagt.:
Oh, ein kurzer Nachtrag noch: this.path = path muss ja kein Fehler sein, wenn man das wie folgt anwendet:
Code:
public FileSystem(String path) 
   { 
      this.path = path; 
      this.loadFiles(path); 
   }
und diese Schreibweise ist eigentlich auch die gebräuchlichere. Keine Ahnung, warum ich das eben anders gemacht habe.

Eben. Ich hatte das vorher auch so, war mir dann aber nicht ganz sicher, ob das macht, was ich von einer anderen Programmiersprache gewöhnt bin (hätte es aber gemacht ;-)), dann habe ich es abgeändert. Und da habe ich leider die Hälfte vergessen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Laufzeitfehler bei Übungsaufgabe Java Basics - Anfänger-Themen 4
C Überprüfen eines Queltextes auf Syntax-Fehler und Laufzeitfehler Java Basics - Anfänger-Themen 2
S Laufzeitfehler erkennen Java Basics - Anfänger-Themen 3
K Vererbung Zuweisungsfehler (Kompilier- und Laufzeitfehler) herausfinden Java Basics - Anfänger-Themen 3
Z Laufzeitfehler Java Basics - Anfänger-Themen 8
S Threads Laufzeitfehler bei invokeall für Callables Java Basics - Anfänger-Themen 2
I Laufzeitfehler ??? Java Basics - Anfänger-Themen 11
S Laufzeitfehler beim JButtondrücken Java Basics - Anfänger-Themen 8
S Übersetzungsfehler oder Laufzeitfehler Java Basics - Anfänger-Themen 3
L Laufzeitfehler/keineAhnungwarum/needhelp Java Basics - Anfänger-Themen 3
E Plötzlich Abbruch mit Laufzeitfehler Java Basics - Anfänger-Themen 4
B Laufzeitfehler Java Basics - Anfänger-Themen 2
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
T Nullpointerexception und es wird nichts angezeigt Java Basics - Anfänger-Themen 15
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben