Ouvrir fichier

waste -  
mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je souhaite connaître la phrase magique pour ouvrir simplement un fichier au format txt en JAVA


1 réponse

mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883
 
Une petite recherche google la prochaine fois ?
https://openclassrooms.com/forum/sujet/java-lire-un-fichier-texte-67925
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Je suis d'accord pour la recherche Google, en revanche sur le site du zéro, je privilégierai les tutoriels plutôt que les forums (où se mélangent, comme sur ccm, les bons et les mauvais codes)

Apprenez à programmer en Java > Utilisation de java.io
0
mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883
 
En l'occurrence le code qui est proposé me paraît tout à fait correct, mais si tu lui reproches quelque chose, n'hésite pas à dire ce que tu améliorerais :-)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Il y a un certain nombre de codes dans cette discussion, si je prends le premier, par exemple il y aura des erreurs à faire :

while( i != -1 ) {
    i=fr.read();
    c=(char) i;

L'éventuelle valeur i==-1 s'obtient au moment du read, or la condition de la boucle est déjà testée (et n'est pas rétroactive), il est donc foireux de continuer un traitement avec ce -1 qui traine...
Ce serait la même chose en C, il faudrait au minimum écrire :

while ( (i=fr.read()) != -1) {
    c = (char) i;
    ...

C'est surtout ça qui m'avait sauté aux yeux en ouvrant cette page de forum.

Ensuite la lecture caractère par caractère d'un fichier est loin d'être une panacée, qui plus est lorsqu'il s'agit d'un problème sur des fichiers textes. Il est toujours préférable de se tourner vers des outils de plus haut niveau comme Scanner, qui sont bien plus puissants.

Scanner sc = new Scanner(new File("C:/test.txt"));
while (sc.hasNextLine()) {
     String line = sc.nextLine();
     ...
0
mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883
 
Perso je pensais plus au dernier message (bon à part qu'il a écrit "ou" au lieu de "out", mais sinon je valide ce que tu dis :-)
0