Benennen Sie eine Datei mit Java um

Lesezeit: 4 Minuten

Können wir eine Datei umbenennen sagen wir test.txt zu test1.txt ?

Wenn test1.txt existiert wird es umbenannt ?

Wie benenne ich sie in die bereits vorhandene Datei test1.txt um, damit ihr der neue Inhalt von test.txt zur späteren Verwendung hinzugefügt wird?

  • Ihr letzter Absatz beschreibt überhaupt keinen Umbenennungsvorgang. Es beschreibt eine Append-Operation.

    – Benutzer207421

    11. September 2015 um 7:22 Uhr

Benennen Sie eine Datei mit Java um
Pierre

Abkopiert http://exampledepot.8waytrips.com/egs/java.io/RenameFile.html

// File (or directory) with old name
File file = new File("oldname");

// File (or directory) with new name
File file2 = new File("newname");

if (file2.exists())
   throw new java.io.IOException("file exists");

// Rename file (or directory)
boolean success = file.renameTo(file2);

if (!success) {
   // File was not successfully renamed
}

An die neue Datei anhängen:

java.io.FileWriter out= new java.io.FileWriter(file2, true /*append=yes*/);

  • Dieser Code funktioniert nicht in allen Fällen oder Plattformen. Die Methode zum Umbenennen in ist nicht zuverlässig: stackoverflow.com/questions/1000183/…

    – Stéphane Grenier

    21. Oktober 2009 um 14:49 Uhr

  • Nur der Path Weg funktioniert für mich, renameTo gibt immer false zurück. Überprüfen Sie entweder die Antwort von kr37 oder diese Antwort

    – Andreas

    9. Juni 2019 um 5:52 Uhr


Benennen Sie eine Datei mit Java um
kr37

Zusamenfassend:

Files.move(source, source.resolveSibling("newname"));

Mehr Details:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

Folgendes wird direkt kopiert http://docs.oracle.com/javase/7/docs/api/index.html:

Angenommen, wir möchten eine Datei in “newname” umbenennen und die Datei im selben Verzeichnis behalten:

Path source = Paths.get("path/here");
Files.move(source, source.resolveSibling("newname"));

Nehmen wir alternativ an, wir möchten eine Datei in ein neues Verzeichnis verschieben, den gleichen Dateinamen beibehalten und alle vorhandenen Dateien dieses Namens im Verzeichnis ersetzen:

Path source = Paths.get("from/path");
Path newdir = Paths.get("to/path");
Files.move(source, newdir.resolve(source.getFileName()), StandardCopyOption.REPLACE_EXISTING);

  • Path ist eine Schnittstelle, deren einzige Implementierungen WindowsPath, ZipPath und AbstractPath sind. Wird dies ein Problem für Multi-Plattform-Implementierungen sein?

    – Cälum

    1. Dezember 2015 um 15:34 Uhr

  • Hallo @user2104648, hier (tutorials.jenkov.com/java-nio/path.html) ist ein Beispiel dafür, wie Sie mit den Dateien in einer Linux-Umgebung umgehen können. Grundsätzlich müssen Sie java.nio.file.Paths.get(somePath) verwenden, anstatt eine der von Ihnen erwähnten Implementierungen zu verwenden

    – Maxivis

    9. Dezember 2015 um 15:57 Uhr

  • Was ist Pfadquelle = … ?

    – Koray Tugay

    5. Januar 2016 um 9:37 Uhr

  • @ kr37 einwandfreie Antwort!

    – Gaurav

    26. Juli 2019 um 15:57 Uhr

  • @KorayTugay. Path source = file.getAbsolutePath(); Woher file ist die Datei, die umbenannt werden muss.

    – Jurin

    16. April 2021 um 8:14 Uhr

Sie möchten die nutzen umbenennen nach Methode auf a Datei Objekt.

Erstellen Sie zunächst ein File-Objekt, um das Ziel darzustellen. Überprüfen Sie, ob diese Datei existiert. Wenn es nicht vorhanden ist, erstellen Sie ein neues File-Objekt für die zu verschiebende Datei. Rufen Sie die renameTo-Methode für die zu verschiebende Datei auf und überprüfen Sie den zurückgegebenen Wert von renameTo, um festzustellen, ob der Aufruf erfolgreich war.

Wenn Sie den Inhalt einer Datei an eine andere anhängen möchten, stehen eine Reihe von Writern zur Verfügung. Basierend auf der Erweiterung klingt es wie Klartext, also würde ich mir das ansehen FileWriter.

  • Keine Ahnung, aber es ist genau dasselbe, was Pierre gepostet hat, ohne den Quellcode …

    – Thomas Owens

    21. Juli 2009 um 12:12 Uhr

1646246228 145 Benennen Sie eine Datei mit Java um
Zoltán

Für Java 1.6 und niedriger glaube ich, dass die sicherste und sauberste API dafür die von Guava ist Dateien.move.

Beispiel:

File newFile = new File(oldFile.getParent(), "new-file-name.txt");
Files.move(oldFile.toPath(), newFile.toPath());

Die erste Zeile stellt sicher, dass der Speicherort der neuen Datei dasselbe Verzeichnis ist, dh die übergeordnetes Verzeichnis der alten Datei.

BEARBEITEN:
Ich habe dies geschrieben, bevor ich anfing, Java 7 zu verwenden, das einen sehr ähnlichen Ansatz einführte. Wenn Sie also Java 7+ verwenden, sollten Sie die Antwort von kr37 sehen und positiv bewerten.

Umbenennen der Datei durch Verschieben auf einen neuen Namen. (FileUtils ist von Apache Commons IO lib)

  String newFilePath = oldFile.getAbsolutePath().replace(oldFile.getName(), "") + newName;
  File newFile = new File(newFilePath);

  try {
    FileUtils.moveFile(oldFile, newFile);
  } catch (IOException e) {
    e.printStackTrace();
  }

1646246228 166 Benennen Sie eine Datei mit Java um
Senior

Dies ist eine einfache Möglichkeit, eine Datei umzubenennen:

        File oldfile =new File("test.txt");
        File newfile =new File("test1.txt");

        if(oldfile.renameTo(newfile)){
            System.out.println("File renamed");
        }else{
            System.out.println("Sorry! the file can't be renamed");
        }

1646246229 168 Benennen Sie eine Datei mit Java um
Kyrill Ch

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import static java.nio.file.StandardCopyOption.*;

Path yourFile = Paths.get("path_to_your_file\text.txt");

Files.move(yourFile, yourFile.resolveSibling("text1.txt"));

So ersetzen Sie eine vorhandene Datei mit dem Namen „text1.txt“:

Files.move(yourFile, yourFile.resolveSibling("text1.txt"),REPLACE_EXISTING);

914960cookie-checkBenennen Sie eine Datei mit Java um

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy