ich bin gerade dabei einen JFileChooser in meinen Programm einzubauen. Nur besteht nun das Problem das ich nicht so recht weiss wie ich den FileChooser beutzen kann. Also was ich machen möchte ist ganz Simpel wenn man auch einen Button klickt soll sich der FileChooser öffnen und man kann dann eine .txt Datei im Chooser auswählen und öffnen. Beim öffnen ist zu beachten das man den ausgewählten Pfad dann in einen String abspeichern kann.
Danke ich vorraus...
String s = null;
JFileChooser choos = new JFileChooser();
int value = choos.showOpenDialog(JComponent comp);
if (value == JFileChooser.APPROVE_OPTION) {
s = choos.getSelectedFile().getAbsolutePath();
}
evtl. noch mit setFileFilter einen FileFilter für .txt setzen.
[edit] showOpenDialog erwartet natürlich eine Komponente
Doch muss eigentlich gehen. Falls es sich um einen Ordner handelt: Der muss vorher leer sein. Ansonsten teste mal vorher mit file.exists() ob deine Datei auch wirklich existiert. Und du solltest noch überprüfen ob evtl. nicht gerade eine andere Anwendung auf die Datei zugreift, so dass du kein Schreibzugriff auf die Datei hast.
public void delFileChooser() {
JFileChooser choos = new JFileChooser("c:/Lyrics/");
int value = choos.showOpenDialog(null);
if (value == JFileChooser.APPROVE_OPTION) {
choos.getSelectedFile().delete();
}
}
Leider wird die ausgewählte Datei, nachdem ich öffnen klicke, nicht gelöscht ?!
oh Fehler bei mir. Es hat mein Programm selbst darauf zugegriffen so scheint es mit jedenfalls. Es hat in sofern zugegriffen, weil ich in zwei textfelder den Pfad wo die txt Datei liegt stehen hatte. Das heisst dann, dass ich jede Datei die in diesen Ornder ist nicht löschen kann. Nun muss ich für das Problem eine Lösung finden.
[edit] Das heisst das ich jede Datei die nicht in den Order ist löschen konnte ...
oh Fehler bei mir. Es hat mein Programm selbst darauf zugegriffen so scheint es mit jedenfalls. Es hat in sofern zugegriffen, weil ich in zwei textfelder den Pfad wo die txt Datei liegt stehen hatte. Das heisst dann, dass ich jede Datei die in diesen Ornder ist nicht löschen kann. Nun muss ich für das Problem eine Lösung finden.
[edit] Das heisst das ich jede Datei die nicht in den Order ist löschen konnte ...
Kannste das bitte nochmal irgendwie "anders" erklären. Ich check da grad gar nix ???:L . Wie kommst du darauf, dass dein Programm auf die Dateien zugreift?
also die zu löschende datei ist: bla.txt
Der Pfad dazu ist: c: /x/bla.txt
So ich habe in ein Textfeld das hier stehen: c: /x/
Wenn das im textfeld steht dann kann ich leider die datei nicht löschen, weil er darauf wohl zugreift wenn dort der Pfad drine steht ?! So glaube ich das jedenfalls. Nachdem ich den Inhalt im Textfeld gelöscht habe (so das da nichts mehr drine steht) dann kann man die datei bla.txt aus dem Ordner c: /x/ löschen.
Ich weiss es klingt komisch, ist aber so ...
Erstellst du zufällig irgendwo ein File Object mit dem Inhalt des JTextFields und greifst auf dieses in einer Endlosschleife o. ä. zu? Sehr viel anders kann ich mir das nicht erklären :autsch:
Um ehrlich zu sein weiss jetzt auch nicht mehr genau woran das liegt. Ich habe es eben wieder versucht mit löschen des Inhaltes des textfield und man kann doch nicht löschen. Also man kann die Dateien die in dem Ordner sind wo man mit den Programm auch die Dateien abspeichert nicht löschen. Aber man kann jede andere Datei die außerhalb des ornders ist löschen ?! Mir wird schwindilig :roll: :bahnhof:
FileChooser choos = new JFileChooser("c:/Lyrics/");
int value = choos.showOpenDialog(null);
if (value == JFileChooser.APPROVE_OPTION) {
System.out.println(choos.getSelectedFile().canWrite());
}