2016-04-24 18 views

Antwort

0

Rufen Sie File.delete() an, die löscht die Datei oder das Verzeichnis, das von diesem abstrakten Pfadname angegeben wird.

File f = new File("foo.txt"); 
if (f.delete()) { 
    System.out.println("file deleted"); 
} 
0

Der Hauptgrund, warum ich die Datei überschreiben muß ...

Eine Möglichkeit, dies zu tun, ist die Datei mit File.delete() oder Files.delete(Path) zu löschen. Letzteres ist vorzuziehen, da es Ihnen sagen kann, warum die Löschung fehlschlägt.

Der andere Weg ist einfach die Datei zum Schreiben zu öffnen. Vorausgesetzt, Sie öffnen nicht im "Anhängen" -Modus, wird beim Öffnen einer Datei zum Schreiben die Datei auf Null Byte gekürzt.


Beachten Sie, dass es einen feinen Unterschied im Verhalten dieser beiden Ansätze ist. Wenn Sie eine Datei löschen und dann eine neue erstellen, wird keine andere Anwendung, die die gleiche Datei geöffnet hat, bemerken. Wenn Sie die Datei dagegen abschneiden, werden andere Anwendungen mit der Datei die Auswirkungen der Kürzung beim Lesen beobachten.

Eigentlich ist dies plattformabhängig. Auf einigen Plattformen wird eine Java-Anwendung, die versucht, eine Datei zum Lesen einer anderen Datei zum Schreiben zu öffnen, eine Ausnahme erhalten.

0

Ja, Sie können es mit tun. Alle gegebenen Antworten sagen über PrintWriter, aber das gleiche kann mit getan werden. Die int-Darstellung des Raums ist 32. Übergeben Sie die Datei einfach an die Instanz FileOutputStream als: FileOutputStream out = new FileOutputStream (Datei); out.write (32);

Dadurch wird der Inhalt der Datei gelöscht. Verwenden Sie dieses nur, wenn Sie es nur mit FileOutputStream tun möchten, andernfalls verwenden Sie PrintWriter.

Verwandte Themen