Dateien aus dem aktuellen Verzeichnis?

flashray

Erfahrenes Mitglied
Hallo,

Java:
import java.io.File;
import java.util.Arrays;

public class FileTest {

	public static void main(String[] args) {
		File f1 = new File("");
		File f2 = new File(f1.getAbsolutePath());

		System.out.println(Arrays.asList(f2.list()).toString());
		System.out.println(Arrays.asList(f1.list()).toString());
	}
}

Code:
[.classpath, .project, AndereKlasse.java, build.xml, ChangeLog, ClassExample.java, CompareAWTandSwing.java, AndereKlasse.class, ...]
Exception in thread "main" java.lang.NullPointerException
	at java.util.Arrays$ArrayList.<init>(Unknown Source)
	at java.util.Arrays.asList(Unknown Source)
	at FileTest.main(FileTest.java:11)

Wieso funktioniert das mit f1 nicht?


Vg Erdal
 
Moin,

Dein f1 referenziert ja auf ein Objekt, was nicht angelegt wird weil es halt keinen Namen besitzt.
Ein nicht existentes File kann man schlecht ansprechen.

Entweder Du erstellst temporär eine Datei um auf den Pfad zugreifen zu können oder
Du löst die Sache auf andere Art und Weise, evt. System.getProperties()...

Gruss,
Xan
 
Danke Xan, Matdacat!

Beide funktionieren tadellos:

Java:
import java.io.File;
import java.util.Arrays;

public class CurDirAlternatives {

	public static void main(String[] args) {
		File f = new File(".");
		System.out.println(Arrays.asList(f.list()).toString());

		String s = System.getProperty("user.dir");
		f = new File(s);
		System.out.println(Arrays.asList(f.list()).toString());
	}
}


Vg Erdal
 
Zurück