«

»

Sep 07

JAVA 7 – Lire et écrire plusieurs lignes dans un fichier texte avec NIO.2

Ecriture de plusieurs lignes dans un fichier texte

Un exemple de code d’écriture de plusieurs lignes dans un fichier texte à l’aides de nouveautés introduites part nio.2.

/**
* import java.nio.file.Paths;
* import java.nio.file.Path;
* import java.util.List;
* import java.util.ArrayList
* import java.nio.charset.Charset
*/

  Path helloPath = Paths.get("c:/naster/java7/nio2", "hello.txt");

  Charset charset = Charset.forName("UTF-8");
  List<String> lines = new ArrayList<>();

  lines.add("Hello World (en français - bonjour le monde -)");
  lines.add("sont les mots traditionnellement écrits ");
  lines.add("par un programme informatique simple dont ");
  lines.add("le but est de faire la démonstration rapide");
  lines.add("d'un langage de programmation");
  lines.add("\n");
  lines.add(" ldc \"Hello world!\" ");

  try
  {
    Files.write(helloPath, lines, charset, StandardOpenOption.APPEND);
  }
catch (IOException e)
{
  e.printStackTrace;
 }

Lecture de plusieurs lignes dans un fichier texte

Un exemple de code de lecture de plusieurs lignes dans un fichier texte à l’aides de nouveautés introduites part nio.2. Cette méthode n’est applicable que sur fichier de taille réduite. Pour de grand fichier, nous aurions droit à une Exception OutOfMemory

/**
* import java.nio.file.Paths;
* import java.nio.file.Path;
* import java.util.List;
* import java.nio.charset.Charset
*/

 Path helloPath = Paths.get("c:/naster/java7/nio2", "hello.txt");
 Charset charset = Charset.forName("UTF-8");

try
{
  List<String> lines = Files.readAllLines(helloPath, charset);

 for (String line : lines)
 {
   System.out.println(line);
 }
}
 catch (IOException e)
 {
   System.out.println(e);
 }