saftmeister
Nutze den Saft!
Du kannst es debuggen und dann schauen, welche Variable das Problem verursacht. Falls dir Debuggen aber noch zu komplex ist, kann ich dir folgendes anbieten:
Beachte die Meldungen in der Konsole. Was siehst du da?
Java:
private static Path locateFileWithType(String msg, String... contentTypes)
throws IOException {
JFileChooser fc = new JFileChooser();
File f = null;
Path p = null;
while (true) {
int returnVal = fc.showDialog(null, msg);
if (returnVal == JFileChooser.APPROVE_OPTION) {
f = fc.getSelectedFile();
System.out.println("f = " + f.getAbsolutePath());
p = f.toPath();
if (Files.isRegularFile(p) && Files.isReadable(p)) {
System.out.println("Datei hat den Typ " + Files.probeContentType(p));
for (String type : contentTypes) {
if (Files.probeContentType(p).equals(type)) {
return p;
}
}
}
else
{
System.out.println("Datei ist keine reguläre Datei oder nicht lesbar.");
}
JOptionPane.showMessageDialog(null,
"Die Datei hat nicht den richtigen Typ");
} else
break;
}
return null;
}
Beachte die Meldungen in der Konsole. Was siehst du da?