Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich bin gerade dabei mein erstes Java Projekt zu realisieren und bin ganz neu hier.
Ich habe folgendes Problem.
Ich möchte mit dem JFileChooser ein Verzeichnis auswählen können und mir alle Dateinamen in diesem Verzeichnis ausgeben lassen.
Eigentlich funktioniert das soweit auch schon aller dings muss ich immer eine Datei aus dem Verzeichnis auswählen. Was eigentlich nicht der Plan ist.
Java:
JFileChooser Filesys= new JFileChooser(new File("Z:\\test_test\\test\\"));
Filesys.setMultiSelectionEnabled(true);
FileFilter filter = new FileNameExtensionFilter("testen","test");
Filesys.addChoosableFileFilter(filter);
Filesys.setAcceptAllFileFilterUsed(true);
Filesys.setMultiSelectionEnabled(true);
Filesys.setDialogTitle("Verzeichnis Laden");
Filesys.setFileSelectionMode(JFileChooser.FILES_ONLY);
int returnVal = Filesys.showOpenDialog(null);
File[] file = Filesys.getCurrentDirectory().listFiles();
//Beginn Fehlerabfrage
if (returnVal == JFileChooser.APPROVE_OPTION)
{
// Build array
String[] Dateinamen;
Dateinamen = new String[file.length];
for (int idx = 0; idx < file.length; idx++) {
//System.out.println(file[idx].getName());
Dateinamen[idx] = file[idx].getName();
System.out.println(file[idx].getName());
}
}
Ja das stimmt. Wenn ich JFileChooser.DIRECTORIES_ONLY eingebe, gib der mir die Ordernamen aus dem übergeordneten Verzeichnis aus.
Bei JFileChooser.FILES_AND_DIRECTORIES habe ich das selbe verhalten wie oben beschrieben.
Also wenn Du ein Verzeichnis auswählen möchtest, dann ist JFileChooser.DIRECTORIES_ONLY korrekt.
Und du wertest ja auch nicht das ausgewählte Verzeichnis aus. Das bekommst du per getSelectedFile.
Und generell solltest Du eine Auswertung von irgendwas nur machen, nachdem Du den Rückgabecode ausgewertet hast. Derzeit greifst Du direkt auf getCurrentDirectory zu...
Also wenn Du ein Verzeichnis auswählen möchtest, dann ist JFileChooser.DIRECTORIES_ONLY korrekt.
Und du wertest ja auch nicht das ausgewählte Verzeichnis aus. Das bekommst du per getSelectedFile.
Und generell solltest Du eine Auswertung von irgendwas nur machen, nachdem Du den Rückgabecode ausgewertet hast. Derzeit greifst Du direkt auf getCurrentDirectory zu...
Ich hab jetzt auf FileChooser.DIRECTORIES_ONLY umgestellt und frage mit getSelectedFiles() ab.
Jetzt bekomme ich aber nur den Ordnernamen zurück.
Villeicht noch mal zum Verständnis.
Ich habe in meine Ordner (Z:\test_test\test 81 Datein mit einer bestimmten Dateienendung. Von diesen ganzen Datein möchte ich den jeweiligen Dateinamen haben um sie mir in einem Dropdown menu anzeigen zu lassen.
Du willst aber, dass nur ein Ordner ausgewählt werden soll? Oder sollen (mehrere) Dateien ausgewählt werden?
Wenn Du EINEN Ordner auswählen können willst, dann nutzt die angegebenen Methoden/Einstellungen (DIRECTORY_ONLY, getSelectedFile).
Wenn Du mehrere Dateien auswählen können willst, dann musst Du natürlich auf FILES_ONLY bleiben und kannst diese dann mit getSelectedFiles bekommen ... Aber da bekommst Du natürlich nur die ausgewählten Dateien.
Bei ersterem (Ordner ausgewählt) kannst Du dann natürlich alle Dateien des Ordners dir holen und nach beliebigen Kriterien filtern.
Das ist aber nicht Aufgabe von JFileChooser. Das liefert dir den Ordner, den du gewählt hast. Deine Aufgabe ist jetzt alle darin enthaltenen Dateien einzulesen.
Das ist aber nicht Aufgabe von JFileChooser. Das liefert dir den Ordner, den du gewählt hast. Deine Aufgabe ist jetzt alle darin enthaltenen Dateien einzulesen.