Écrire un octet dans un fichier en Java

Rupam Yadav 12 octobre 2023
  1. Utilisation de FileOutputStream pour écrire un octet dans un fichier en Java
  2. Utilisation de java.nio.file pour écrire un octet dans un fichier
  3. Utilisation de la bibliothèque Apache Commons IO pour écrire un octet dans un fichier en Java
Écrire un octet dans un fichier en Java

Ce programme montre comment écrire un tableau d’octets dans un fichier en Java. Cette tâche peut être effectuée en utilisant FileOutputStream et en utilisant certaines bibliothèques mentionnées dans cet article.

Utilisation de FileOutputStream pour écrire un octet dans un fichier en Java

La classe FileOutputStream en Java est un Stream de sortie utilisé pour écrire des données ou un Stream d’octets dans un fichier. Le constructeur FileOutputStream(File file) crée un Stream de sortie de fichier à écrire dans le fichier représenté par l’objet File, que nous avons créé dans le code ci-dessous.

La variable s de type String est passée à la méthode getBytes(), qui convertit la chaîne en une séquence d’octets et retourne un tableau d’octets. La méthode write() prend le tableau d’octets comme argument et écrit b.length octets du tableau d’octets b dans ce Stream de sortie de fichier.

Un fichier avec l’extension .txt est créé au chemin donné, et si nous l’ouvrons, nous pouvons voir le même contenu que la chaîne stockée dans la variable s.

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();
    }
  }
}

Utilisation de java.nio.file pour écrire un octet dans un fichier

Le package Java NIO ( New I/O) se compose de méthodes statiques qui fonctionnent sur les fichiers, les répertoires et il fonctionne principalement sur l’objet Path. Le Path.get() est une méthode statique qui convertit une séquence de chaînes ou une chaîne de chemin en un chemin. Il appelle simplement FileSystems.getDefault().getPath().

Ainsi, nous pouvons écrire un tableau d’octets b dans un fichier en utilisant la méthode Files.write() en passant le chemin vers le fichier, et le tableau d’octets converti à partir d’une chaîne.

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");
    }
  }
}

Utilisation de la bibliothèque Apache Commons IO pour écrire un octet dans un fichier en Java

La dépendance maven pour cette bibliothèque est comme mentionné ci-dessous.

   <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.6</version>
   </dependency>

La bibliothèque Apache Commons IO a la classe FilesUtils, elle a la méthode writeByteArrayToFile(). Cette méthode prend le chemin de destination et les données binaires que nous écrivons. Si notre répertoire ou fichier de destination n’existe pas, ils seront créés. Si le fichier existe, il sera tronqué avant l’écriture.

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();
      }
    }
  }
}

Production:

Successfully written data to the file
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Article connexe - Java Byte

Article connexe - Java File