41 votes

Comment obtenir le contenu d'un fichier en java ?

pour obtenir le contenu d'un fichier txt, j'utilise généralement un scanner et parcourt chaque ligne pour obtenir le contenu :

 Scanner sc = new Scanner(new File("file.txt"));
while(sc.hasNextLine()){
    String str = sc.nextLine();                     
}

L'API Java fournit-elle un moyen d'obtenir le contenu avec une ligne de code comme :

 String content = FileUtils.readFileToString(new File("file.txt"))

30voto

Jon Skeet Points 692016

Pas l'API intégrée - mais Guava le fait, parmi ses autres trésors. (C'est une bibliothèque fabuleuse.)

 String content = Files.toString(new File("file.txt"), Charsets.UTF_8);

Il existe des méthodes similaires pour lire n'importe quel fichier Readable, ou charger l'intégralité du contenu d'un fichier binaire sous forme de tableau d'octets, ou lire un fichier dans une liste de chaînes, etc.

Notez que cette méthode est maintenant dépréciée. Le nouvel équivalent est :

 String content = Files.asCharSource(new File("file.txt"), Charsets.UTF_8).read();

24voto

rich Points 3527

Avec Java 7, il existe une API dans ce sens.

Files.readAllLines (chemin d'accès, jeu de caractères cs)

18voto

Bozho Points 273663

commons-io a :

 IOUtils.toString(new FileReader("file.txt"), "utf-8");

10voto

Thomas Grainger Points 174
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public static void main(String[] args) throws IOException {
    String content = Files.readString(Paths.get("foo"));
}

Depuis https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/Files.html#readString(java.nio.file.Path)

7voto

Saclyr Barlonium Points 339

Vous pouvez utiliser la classe FileReader avec BufferedReader pour lire le fichier texte.

 File fileToRead = new File("file.txt");

try( FileReader fileStream = new FileReader( fileToRead ); 
    BufferedReader bufferedReader = new BufferedReader( fileStream ) ) {

    String line = null;

    while( (line = bufferedReader.readLine()) != null ) {
        //do something with line
    }

    } catch ( FileNotFoundException ex ) {
        //exception Handling
    } catch ( IOException ex ) {
        //exception Handling
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X