pour obtenir le contenu d'un fichier txt, j'utilise généralement un scanner et itère sur 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 un moyen d'obtenir le contenu avec une ligne de code comme:
String content = FileUtils.readFileToString(new File("file.txt"))
Avec Java 7, il existe une API dans ce sens.
Pas l'API intégrée - mais Guava le fait, parmi ses autres trésors. (C'est une fabuleuse bibliothèque.)
String content = Files.toString(new File("file.txt"), Charsets.UTF_8);
Il existe des méthodes similaires pour lire un fichier lisible, ou pour charger l'intégralité du contenu d'un fichier binaire sous forme de tableau d'octets, ou pour lire un fichier dans une liste de chaînes, etc.
Notez que cette méthode est désormais obsolète. Le nouvel équivalent est:
String content = Files.asCharSource(new File("file.txt"), Charsets.UTF_8).read();
commons-io a:
IOUtils.toString(new FileReader("file.txt"), "utf-8");
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"));
}
Vous pouvez utiliser la classe FileReader avec le 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
}