Abfragen ob eine Datei schon existiert
-
Hallo, ich habe ein kleines Problem :
Mit ...File f = new File ("C:\\foo.txt"); FileWriter fw = new FileWriter (f); PrintWriter w = new PrintWriter(fw);
Erstelle ich eine Datei und schreibe in diese rein ...
Jetzt ma die Frage, wie könnte ich prüfen --> wenn die datei existiert , wird einfach ans ende weitergeschrieben
wenn nicht neu erstellt .....
ich weiß dassf.exists()
einen bool wert rausspuckt aber was kann ich mit dem anfangen , bzw. wie kann ich da weiter ansetzen ?! MfG
-
hi!
boolean existiert = false; existiert = f.exists(); if(existiert == true) System.out.println("Jo, Datei gibts schon"); else System.out.println("Nee du, noch nicht vorhanden");
oder kürzer:
if(f.exists()) System.out.println("Jo, Datei gibts schon"); else System.out.println("Nee du, noch nicht vorhanden");
Viele Grüße
Stefan
-
Schön und gut die Abfrage , darauf bin ich ja auch selbst gekommen,
Ich brauch aber den Code für :
Wenn die Datei Vorhanden , die Vorhandene Datei öffnen , und String ans Ende hinzufügen. dh nicht NEU erstellen sondern nur ergänzen
MfG
-
Hi!
Na, wenn "das Anhängen von Daten in eine Datei" das Primörproblem war, musste es auch als solches hervorheben .
Jedenfalls, so hängt man Daten an eine Datei an:public void appendString(String string) { try { File file = new File("testFile.txt"); RandomAccessFile raf = new RandomAccessFile(file, "rw"); if(file.exists()) { System.out.println("Datei exisitiert!"); raf.seek(file.length()); raf.writeBytes(string); raf.close(); } else { System.out.print("Datei exisitiert nicht!"); raf.writeChars(string); raf.close(); } } catch(Exception e) { e.printStackTrace(); } }
Viele Grüße
Stefan
-
Hi!
Ich will kein RandomAccessFile Schreiben, und habs dann so gelöst, nur das seek geht nicht, gibts da für den BufferedWriter ne andere Methode?File file = new File("adresse.txt"); try{ f = new BufferedWriter(new FileWriter(file)); //adresse = ; if(file.exists()) { f.seek(file.length()); f.newLine(); f.write(nametf.getText() + "$" + strassetf.getText() + "$" + ortplztf.getText() + "$" + handytf.getText() + "$" + teltf.getText()); f.newLine(); } else { f.write(nametf.getText() + "$" + strassetf.getText() + "$" + ortplztf.getText() + "$" + handytf.getText() + "$" + teltf.getText()); f.newLine(); } f.close(); } catch (IOException e) { JOptionPane.showMessageDialog(this, "Fehler beim Schreiben der Datei", "IO Fehler", JOptionPane.ERROR_MESSAGE); }
Danke im Vorraus
mfg Till
-
FileWriter hat auch andere Konstruktoren wie z.B.
FileWriter(File file,boolean append)bis dänn, O'Dog
-
Beispiel bitte
Bin bei dem append nämlich n'bisschen verwirrt...
-
Original erstellt von Zahnsteini:
Beispiel bitte
Bin bei dem append nämlich n'bisschen verwirrt...Es gibts ja auch ziemlich viele Möglichkeiten beim 2. Parameter...ganz schön knifflig...
O'Dog
-
ok, habs rausbekommen, so geht's(falls es jemanden interessiert
Danke für alles O'Doghier der Code:
File file = new File("adresse.txt"); try{ f = new BufferedWriter(new FileWriter(file, true)); { //f.newLine(); f.write(nametf.getText() + "$" + strassetf.getText() + "$" + ortplztf.getText() + "$" + handytf.getText() + "$" + teltf.getText()); f.newLine(); f.close(); } } catch (IOException e) { JOptionPane.showMessageDialog(this, "Fehler beim Schreiben der Datei", "IO Fehler", JOptionPane.ERROR_MESSAGE); }