Wie kann man eine Datei in Java erstellen
Es ist nicht schwer, eine neue Datei in Java zu erstellen. Dieser Artikel soll den Anfängern helfen, das Erstellen einer neuen Datei zu erlernen und dann in Java zu schreiben.
Also, lassen Sie uns zunächst lernen, wie man neue Dateien in Java erstellen kann.
Es gibt mehrere Möglichkeiten, das zu tun, aber in diesem Artikel werden wir 3 Möglichkeiten der Erstellung von Dateien betrachten.
1. Verwenden Sie die Klasse java.io.File
Wenn Sie das File-Objekt initialisieren, geben Sie den Dateinamen an und rufen dann die Methode createNewFile() auf, die automatisch eine neue, leere Datei mit dem Namen des abstrakten Pfadnamens erzeugt, wenn eine Datei mit diesem Namen noch nicht existiert.
Diese Methode gibt true zurück, wenn die benannte Datei nicht existiert und erfolgreich erstellt wurde. Und gibt false zurück, wenn die Datei existiert. Es löst auch java.io.IOException aus, wenn es nicht in der Lage ist, die Datei zu erstellen. Die erstellte Datei ist leer und hat Nullbytes.
Denken Sie daran, dass diese Methode nur eine Datei erstellt, aber keinen Inhalt in sie enthält.
Beispiel
// Java-Programm zur Demonstration der Methode createNewFile() method
import java.io.File;
public class FileCreator {
public static void main(String args[])
{
try {
// Get the file
File f = new File("D:\\example.txt");
// Create new file
// Check if it does not exist
if (f.createNewFile())
System.out.println("File created");
else
System.out.println("File already exists");
}
catch (Exception e) {
System.err.println(e);
}
}
}
Wenn Sie das Programm kompilieren und ausführen, hat es folgendes Ergebnis:
Ergebnis
Datei erstellt
2. Verwenden Sie die Klasse java.io.FileOutputStream
Wenn Sie eine neue Datei erstellen und gleichzeitig einige Daten in sie schreiben möchten, können Sie die Methode FileOutputStream.write verwenden. Diese Methode erstellt automatisch eine neue Datei und schreibt einige Inhalte in sie.
Die Methode FileOutputStream wird zum Schreiben von Streams von Rohbytes wie Bilddaten verwendet. Wenn Sie zeichenorientierte Daten schreiben wollen, ist es besser, FileWriter zu verwenden.
Hier finden Sie einen einfachen Code, um zu sehen, wie es verwendet wird:
Beispiel
String fileData = "Some Test";
FileOutputStream fos = new FileOutputStream("D:\\example.txt");
fos.write(fileData.getBytes());
fos.flush();
fos.close();
3. Verwenden Sie Java NIO Files.write()
Verwenden Sie die Klasse Java NIO Files, um eine neue Datei zu erstellen und einige Daten in sie zu schreiben. Diese Java-Klasse bietet die Methode write(Path path, byte[] bytes, OpenOption… options), die Bytes in eine Datei im angegebenen Pfad schreibt.
Mit der Klasse Files ist es möglich, Dateien und Verzeichnisse zu erstellen, zu verschieben, zu kopieren oder zu löschen. Es kann auch zum Lesen und Schreiben in eine Datei verwendet werden.
Files.write() ist ein bevorzugter Weg, um eine Datei zu erstellen, da Sie sich nicht um das Schließen von IO-Ressourcen kümmern müssen.Diese Klasse hat die folgenden Parameter:
- lines - Ein Objekt, das über die Zeichenfolgen iteriert werden soll. Schreibt Textzeilen in eine Datei. Jede Zeile ist eine Zeichenfolge und wird nacheinander in die Datei geschrieben, wobei jede Zeile durch den Zeilentrenner der Plattform abgeschlossen wird.
- options - Dieser Parameter gibt an, wie die Datei erstellt oder geöffnet wird. Wenn keine Option angegeben ist, berücksichtigt sie standardmäßig die Optionen CREATE, TRUNCATE_EXISTING und WRITE. Das bedeutet, dass es die Datei zum Schreiben öffnet und erstellt, wenn die Datei nicht existiert, oder eine bestehende Datei auf die Größe 0 kürzt, wenn sie existiert.
- path - Es gibt den Pfad zur Zeile an.
- cs - Der Zeichensatz, der für die Kodierung verwendet werden soll.
Alle Bytes im Byte-Array werden in die Datei geschrieben. Diese Methode stellt sicher, dass die Datei geschlossen wird, wenn alle Bytes geschrieben wurden, und gibt den Pfad der geschriebenen Datei zurück.
Beispiel
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FilesWriterExample {
public static void main(String[] args) {
Path path = Paths.get("D:/data/example.txt");
try {
String str = "Some write file Example";
byte[] bs = str.getBytes();
Path writtenFilePath = Files.write(path, bs);
System.out.println("Geschriebener Inhalt in file:\n"+ new String(Files.readAllBytes(writtenFilePath)));
} catch (Exception e) {
e.printStackTrace();
}
}
}