Wenn ich eine Datei erstellen möchte C:/a/b/test.txt
, kann ich Folgendes tun:
File f = new File("C:/a/b/test.txt");
Außerdem möchte ich FileOutputStream
die Datei erstellen. Wie würde ich das machen? Aus irgendeinem Grund wird die Datei nicht im richtigen Verzeichnis erstellt.
new File("/a/b/test.txt")
funktioniert für beide Systeme. Unter Windows wird es auf dieselbe Festplatte geschrieben, auf der JVM ausgeführt wird.f.getParentFile().mkdirs(); f.createNewFile();
Sie müssen sicherstellen, dass die übergeordneten Verzeichnisse vorhanden sind, bevor Sie schreiben. Sie können dies tun, indem Sie
File#mkdirs()
.quelle
Mit Java 7 , können Sie verwenden
Path
,Paths
undFiles
:quelle
Verwenden:
Beachten Sie, dass ich die Schrägstriche für Pfade im Windows-Dateisystem in doppelte Schrägstriche geändert habe. Dadurch wird eine leere Datei auf dem angegebenen Pfad erstellt.
quelle
createNewFile()
ist übrigens unnötig, wenn man mit ihmFileOutputStream
sowieso schreibt .Ein besserer und einfacherer Weg, dies zu tun:
Quelle
quelle
Dies sollte eine neue Datei in einem Verzeichnis erstellen
quelle
Neue Datei im angegebenen Pfad erstellen
Programmausgabe:
Dateierstellung erfolgreich
quelle
Überraschenderweise geben viele der Antworten keinen vollständigen Arbeitscode. Hier ist es:
quelle
So erstellen Sie eine Datei und schreiben dort eine Zeichenfolge:
Dies funktioniert für Mac und PC.
quelle
Versuchen Sie Folgendes, um den FileOutputStream zu verwenden:
quelle