Byte in eine Datei schreiben in Java
-
Verwenden von
FileOutputStream
zum Schreiben von Byte in eine Datei in Java -
Verwendung von
java.nio.file
zum Schreiben von Bytes in eine Datei -
Verwenden der
Apache Commons IO
-Bibliothek zum Schreiben von Bytes in eine Datei in Java
![Byte in eine Datei schreiben in Java](/img/Java/feature-image---java-write-byte-to-file.webp)
Dieses Programm zeigt, wie Sie in Java ein Byte-Array in eine Datei schreiben. Diese Aufgabe kann mit FileOutputStream
und mit einigen in diesem Artikel erwähnten Bibliotheken ausgeführt werden.
Verwenden von FileOutputStream
zum Schreiben von Byte in eine Datei in Java
Die Klasse FileOutputStream
in Java ist ein Ausgabestream, der verwendet wird, um Daten oder Byte-Streams in eine Datei zu schreiben. Der Konstruktor FileOutputStream(File file)
erstellt einen Dateiausgabestream, um in die Datei zu schreiben, die durch das File
-Objekt file
repräsentiert wird, das wir im folgenden Code erstellt haben.
Die Variable s
vom Typ String
wird an die Methode getBytes()
übergeben, die den String in eine Folge von Bytes umwandelt und ein Array von Bytes zurückgibt. Die Methode write()
nimmt das Byte-Array als Argument und schreibt b.length Bytes aus dem Byte-Array b
in diesen Dateiausgabestrom.
Unter dem angegebenen Pfad wird eine Datei mit der Erweiterung .txt
erstellt, und wenn wir diese öffnen, sehen wir den Inhalt wie den in der Variablen s
gespeicherten String.
import java.io.File;
import java.io.FileOutputStream;
public class ByteToFile {
public static void main(String args[]) {
File file = new File("/Users/john/Desktop/demo.txt");
try {
FileOutputStream fout = new FileOutputStream(file);
String s = "Example of Java program to write Bytes using ByteStream.";
byte b[] = s.getBytes();
fout.write(b);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Verwendung von java.nio.file
zum Schreiben von Bytes in eine Datei
Das Java-Paket NIO ( New I/O)
besteht aus statischen Methoden, die mit Dateien, Verzeichnissen und hauptsächlich mit dem Objekt Path
arbeiten. Das Path.get()
ist eine statische Methode, die eine Folge von Strings oder einen Pfad-String in einen Path umwandelt. Es ruft einfach FileSystems.getDefault().getPath()
auf.
So können wir mit der Methode Files.write()
ein Byte-Array b
in eine Datei schreiben, indem wir den Pfad zur Datei übergeben und das Byte-Array aus einem String konvertieren.
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class ByteToFile {
public static void main(String args[]) {
Path p = Paths.get("/Users/john/Desktop/demo.txt");
try {
String s = "Write byte array to file using java.nio";
byte b[] = s.getBytes();
Files.write(p, b);
} catch (IOException ex) {
System.err.format("I/O Error when copying file");
}
}
}
Verwenden der Apache Commons IO
-Bibliothek zum Schreiben von Bytes in eine Datei in Java
Die Maven-Abhängigkeit für diese Bibliothek ist wie unten erwähnt.
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Die Bibliothek Apache Commons IO
hat die Klasse FilesUtils, sie hat die Methode writeByteArrayToFile()
. Diese Methode verwendet den Zielpfad und die Binärdaten, die wir schreiben. Wenn unser Zielverzeichnis oder unsere Zieldatei nicht existiert, werden sie erstellt. Wenn die Datei vorhanden ist, wird sie vor dem Schreiben abgeschnitten.
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.FileUtils;
public class ByteToFile {
public static void main(String args[]) {
{
File file = new File("doc.txt");
byte[] data =
"Here, we describe the general principles of photosynthesis"
.getBytes(StandardCharsets.UTF_8);
try {
FileUtils.writeByteArrayToFile(file, data);
System.out.println("Successfully written data to the file");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Ausgabe:
Successfully written data to the file
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java Byte
- Wie man Java-String in Byte konvertiert
- Konvertieren Int in Byte in Java
- Konvertieren Sie Byte in Int in Java