Fichier texte / tri / affichage
Bonjour ,
J'ai quelques soucis pour réaliser mon objectif qui est d'afficher dans un tableau (jTable)
pseudo / score , trier par score du plus grand au plus petit , une liste de pseudo et score .
Tout d'abord , j'ecris dans un fichier texte mon pseudo et mon score , ensuite je lis ce fichier texte , je recupere les données et je les stocke dans un ArrayList.
Mon soucis c'est que je n'arrive pas à faire de tri sur le score du fait que mon tri ce fait sur la chaine de caractere pseudo + score .
Je vous met le code de tout ce qui peut etre utile . Si vous avez besoin de plus d'elements je vous les fournirai .
Code:
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
| class Lireetecrire{
public void ecrire(String texte){
String adressedufichier = System.getProperty("user.dir") + "\\monfichier.txt";
try{
FileWriter fw = new FileWriter(adressedufichier, true);
BufferedWriter output = new BufferedWriter(fw);
output.write(texte);
output.flush();
output.close();
}
catch(IOException ioe){System.out.println("erreur : " + ioe );}
}
public void lire(){
String name = "monfichier.txt";
List<String> list = new ArrayList<String>();
try{
Scanner s = new Scanner(new FileReader(new File(name)));
while(s.hasNext())
{
list.add((s.nextLine()));
}
for (int index = 0; index < list.size(); index++)
{
Collections.sort(list, Collections.reverseOrder());
System.out.println(list.get(index));
}
}catch(Exception e){
e.printStackTrace();
}
}
}
/* ici je lance l ecriture du pseudo et du score dans le fichier */
String pseudoT = (nom);
int scoreT = (h);
Lireetecrire lee = new Lireetecrire();
lee.ecrire(scoreT+";");
lee.ecrire(pseudoT+";");
lee.ecrire("\n"); |
mon fichier texte ressemble a ca :
Citation:
600;asze;
900;kijfrgg;
1700;koerf;