Java - Fichier au lecteur

Java - Fichier au lecteur

Dans ce rapide didacticiel, nous allons illustrerhow to convert a File to a Reader en utilisant Java, Guava ou Apache Commons IO. Commençons.

Cet article fait partie dethe “Java – Back to Basic” series ici par exemple.

1. Avec Plain Java

Examinons d'abord la solution Java simple:

@Test
public void givenUsingPlainJava_whenConvertingFileIntoReader_thenCorrect()
  throws IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    initialFile.createNewFile();
    Reader targetReader = new FileReader(initialFile);
    targetReader.close();
}

2. Avec goyave

Voyons maintenant la même conversion, cette fois en utilisant la bibliothèque Guava:

@Test
public void givenUsingGuava_whenConvertingFileIntoReader_thenCorrect() throws
  IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    com.google.common.io.Files.touch(initialFile);
    Reader targetReader = Files.newReader(initialFile, Charset.defaultCharset());
    targetReader.close();
}

3. Avec Commons IO

Et enfin, terminons avec l'exemple de code Commons IO, en effectuant la conversion via un tableau d'octets intermédiaire:

@Test
public void givenUsingCommonsIO_whenConvertingFileIntoReader_thenCorrect()
  throws IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    FileUtils.touch(initialFile);
    FileUtils.write(initialFile, "With Commons IO");
    byte[] buffer = FileUtils.readFileToByteArray(initialFile);
    Reader targetReader = new CharSequenceReader(new String(buffer));
    targetReader.close();
}

Et là, nous l'avons -3 ways to convert a File into a Reader - d'abord avec Java, puis avec Guava et enfin avec la bibliothèque Apache Commons IO.