Ich habe eine Methode, die Text von einer JTextArea bekommt, eine Datei erstellt und darauf Text schreibt:
%Vor%und ein txt-Dateifilter
%Vor%Der Dateifilter für txt funktioniert gut, aber ich möchte die Erweiterung ".txt" hinzufügen, wenn ich den Dateinamen eintippe.
Wie muss ich meinen Code ändern?
AKTUALISIEREN
Sie haben mich darauf hingewiesen, dass die Überprüfung auf vorhandene Dateien nicht funktioniert. Es tut mir leid, ich habe nicht daran gedacht, als ich Ihnen vorgeschlagen habe, die Zeile BufferedWriter
zu ersetzen.
Ersetzen Sie jetzt Folgendes:
mit:
%Vor% Mit dieser Ersetzung ist es nun nicht notwendig, die Zeile von BufferedWriter
zu ersetzen, indem .txt
für die Erweiterung hinzugefügt wird. Ersetzen Sie dann diese Zeile durch die Zeile in dem Code, den Sie gepostet haben (mit BufferedWriter out = new BufferedWriter(new FileWriter(sFile));
anstelle von BufferedWriter out = new BufferedWriter(new FileWriter(sFile+".txt"));
).
Jetzt sollte das Programm wie erwartet funktionieren.
Ich habe vergessen zu erwähnen, dass Sie die Zeile kommentieren müssen:
%Vor% Auf diese Weise erstellen Sie eine leere Datei mit der Klasse File
.
Gleich nach dieser Zeile gibt es: BufferedWriter out = new BufferedWriter(new FileWriter(sFile));
.
Mit dieser Zeile erstellen Sie erneut dieselbe Datei. Der Schreibvorgang läuft zweimal ab! Ich denke, es ist sinnlos, zwei Anweisungen einzufügen, die die gleiche Aufgabe erledigen.
Außerdem können Sie im Konstruktor BufferedWriter
eine Zeichenkette für den Dateinamen anhängen (dies ist nicht möglich in File
constructor), deshalb habe ich +".txt"
(die Erweiterung) zu% co_de hinzugefügt %.
Tags und Links java swing jfilechooser