Comment lire un fichier en Java - FileInputStream

Comment lire un fichier en Java - FileInputStream

En Java,FileInputStream est une classe de flux d'octets utilisée pour lire les octets d'un fichier. L'exemple suivant utiliseraFileInputStream pour lire un fichier nommé «c:/robots.txt» et afficher son contenu sur la console.

//This is content of file : c:/robots.txt
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-includes-test/

Voir l'exemple complet ci-dessous.

package com.example.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadFileExample {

    public static void main(String[] args) {

        File file = new File("C:/robots.txt");
        FileInputStream fis = null;

        try {
            fis = new FileInputStream(file);

            System.out.println("Total file size to read (in bytes) : "
                    + fis.available());

            int content;
            while ((content = fis.read()) != -1) {
                // convert to char and display it
                System.out.print((char) content);
            }

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

Le résultat suivant sera affiché sur la console.

Total file size to read (in bytes) : 90
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-includes-test/

Exemple JDK 7

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.FileInputStream;
import java.io.IOException;

public class ReadFileExample {

    public static void main(String[] args) {

        File file = new File("C:/robots.txt");

        try (FileInputStream fis = new FileInputStream(file)) {

            System.out.println("Total file size to read (in bytes) : "+ fis.available());

            int content;
            while ((content = fis.read()) != -1) {
                // convert to char and display it
                System.out.print((char) content);
            }

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

Références

  1. http://docs.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html

  2. //java/how-to-write-to-file-in-java-fileoutputstream-example/