1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| import java.io.*;
public class CorrectionParPhilippe
{
// Faire fichier avec différents chiffres séparés par un ; comme ci dessous,
// p.ex : 12;4;7
public static void main(String[]args) throws IOException
{
int positionSeparateur;
String sNombre;
//String ligne="12;4;7";
String ligne="";
int nombre;
char separateur=';';
int longueur;
int somme=0;
//on donc besoin de trois choses pour lire dans un fichier :
//1) le filereader
//2) le bufferedReader
//3) close
//attention : on a besoin aussi d'un readLine(), ce readLine est une méthode
//du buffered
FileReader fic= new FileReader("C:\\somme.txt");
//Lecture de la premiere ligne
BufferedReader fichier=new BufferedReader(fic);
ligne=fichier.readLine();
System.out.println("Lecture du fichier :");
//tant que ligne (c'est à dire la ligne active du fichier txt) est différente
//de rien
while(ligne !=null)
{
//on donne la longueur de la ligne à la variable longueur
longueur=ligne.length();
//tant que longueur est supérieur à Zéro car :
//si j'ai cette ligne : 7;12;9 la longueur est de 6, quand j'aurais passé
//une première fois, on prend 7 et ; il nous reste alors 12;9, vue que l'on
//commence à zéro, on a encore 3 caractères (0,1,2,3 --> 12;9)
while(longueur>0)
{
positionSeparateur=ligne.indexOf(separateur);
if (positionSeparateur>0)
{
sNombre=ligne.substring(0,positionSeparateur);
ligne=ligne.substring(positionSeparateur+1);
}
else
{
sNombre=ligne;
ligne="";
}
System.out.println(sNombre);
nombre=Integer.parseInt(sNombre);
somme+=nombre;
longueur=ligne.length();
System.out.println("la longueur " + longueur);
}
//Lecture de la ligne suivante
ligne=fichier.readLine();
}
System.out.println("=================");
System.out.println("Total = "+somme);
fichier.close();
}
} |
Partager