FileChooser.ExtensionFilter

Diskutiere FileChooser.ExtensionFilter im AWT, Swing, JavaFX & SWT Bereich.
Bluedaishi

Bluedaishi

Wie bekomme ich es hin das der ExtensionFilter mir nur die Dateien anzeigt die mit Großbuchstaben enden anzeigt bei meinem Ansatz zeigt er mir auch die mit kleinen buchstaben an

Java:
Stage stage_old = (Stage) status.getScene().getWindow();
                List<File> fileList;
                FileChooser fileChooser = new FileChooser();
                FileChooser.ExtensionFilter extFilter =
                        new FileChooser.ExtensionFilter("TEXTDATEI (.ACK)", "*.ACK".toUpperCase());
                fileChooser.getExtensionFilters().add(extFilter);
                
                fileList = fileChooser.showOpenMultipleDialog(stage_old);
es gibt *.ACK und *.ack klein beides sind unterschiedliche dateien . beide werden aber angezeigt
 
L

LimDul

Ich befürchte gar nicht. Ich hab mal aus Neugierde den Code durchgesehen - der greift auf den nativen Dialog zurück und der verhält sich - zumindest unter Windows - auch so, dass er Groß/Kleinschreibung ignoriert.
 
Bluedaishi

Bluedaishi

Das habe ich mir fast gedacht......
hab das jetzt so gelöst
wenn die Datei mit kleinen Buchstaben endet obwohl sie groß sein müssten so.......
Java:
 if (fileList.toString().replace("[", "").replace("]", "").endsWith(".ack")) {
                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                    alert.setTitle("ERROR");
                    alert.setHeaderText("FALSCHEN DATENSATZ AUSGEWÄHLT");
                    alert.setContentText("");
                    alert.showAndWait();
                }
wenn die Datei mit großen Buchstaben endet obwohl sie klein sein müssten so.......
Java:
if (fileList.toString().replace("[", "").replace("]", "").endsWith(".ACK")) {
                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                    alert.setTitle("ERROR");
                    alert.setHeaderText("FALSCHEN DATENSATZ AUSGEWÄHLT");
                    alert.setContentText("");
                    alert.showAndWait();
                }
anders ging es nicht . Eigentlich schade das der FileExtensionsFilter das nicht hinbekommt
 
J

JustNobody

Das Kernproblem dürfte hier einfach sein, dass Dateinamen unter Windows eben nicht Case Sensitive sind. Für Windows sind die Endungen "ACK" und "ack" gleich.

Und gerade unter Windows würde ich hier eine Unterscheidung innerhalb der Applikation zumindest aus Sicht der Usability für problematisch halten.
 
L

LimDul

Das Kernproblem dürfte hier einfach sein, dass Dateinamen unter Windows eben nicht Case Sensitive sind. Für Windows sind die Endungen "ACK" und "ack" gleich.

Und gerade unter Windows würde ich hier eine Unterscheidung innerhalb der Applikation zumindest aus Sicht der Usability für problematisch halten.
Dem würde ich partiell widersprechen. Windows speichert sie schon mit der korrekten Groß/Kleinschreibung - allerdings behandelt Windows zwei Dateinamen als identisch, wenn sie nur unterschiedliche Groß/Kleinschreibung haben.

Was bei uns dazu führt, dass eine Umbennung einer Datei von Myclass.java nach MyClass.java mittels Git nur über einen Zwischen-Commit geht, damit es sauber funktioniert wenn jemand anders ein Pull macht. Es ist unter Windows maximal inkonsequent leider.
 
Thema: 

FileChooser.ExtensionFilter

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben