Comment écrire dans un fichier en Java - FileOutputStream

Comment écrire dans un fichier en Java - FileOutputStream

En Java,FileOutputStream est une classe de flux d'octets utilisée pour gérer les données binaires brutes. Pour écrire les données dans un fichier, vous devez convertir les données en octets et les enregistrer dans un fichier. Voir l'exemple complet ci-dessous.

package com.example.io;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteFileExample {
    public static void main(String[] args) {

        FileOutputStream fop = null;
        File file;
        String content = "This is the text content";

        try {

            file = new File("c:/newfile.txt");
            fop = new FileOutputStream(file);

            // if file doesnt exists, then create it
            if (!file.exists()) {
                file.createNewFile();
            }

            // get the content in bytes
            byte[] contentInBytes = content.getBytes();

            fop.write(contentInBytes);
            fop.flush();
            fop.close();

            System.out.println("Done");

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fop != null) {
                    fop.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

Un exemple JDK7 mis à jour, utilisant la nouvelle méthode «Try resource close» pour gérer facilement le fichier.

package com.example.io;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteFileExample {
    public static void main(String[] args) {

        File file = new File("c:/newfile.txt");
        String content = "This is the text content";

        try (FileOutputStream fop = new FileOutputStream(file)) {

            // if file doesn't exists, then create it
            if (!file.exists()) {
                file.createNewFile();
            }

            // get the content in bytes
            byte[] contentInBytes = content.getBytes();

            fop.write(contentInBytes);
            fop.flush();
            fop.close();

            System.out.println("Done");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Références

  1. http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileOutputStream.html

  2. //java/how-to-read-file-in-java-fileinputstream/