A voir également:
- Rechercher dans un fichier en Java
- Rechercher ou entrer l'adresse - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Comment réduire la taille d'un fichier - Guide
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
17 juin 2012 à 14:14
17 juin 2012 à 14:14
"on ne peut taper deux mots que CCC ne connaît pas sans qu'il y ai de fautes "
Il faudrait peut-être regarder du côté de ton correcteur orthographique plutôt que d'accuser les sites, ce ne sont pas eux qui gèrent ton navigateur internet !
Et quand bien même il t'afficherait des fautes qui n'en sont pas, ça ne t'empêche pas de poster ton message dans son intégralité, sans avoir à passer par un service tiers d'où tu supprimera la question quand tu le voudras, en annihilant l'intégrité de cette discussion !!!
Il faudrait peut-être regarder du côté de ton correcteur orthographique plutôt que d'accuser les sites, ce ne sont pas eux qui gèrent ton navigateur internet !
Et quand bien même il t'afficherait des fautes qui n'en sont pas, ça ne t'empêche pas de poster ton message dans son intégralité, sans avoir à passer par un service tiers d'où tu supprimera la question quand tu le voudras, en annihilant l'intégrité de cette discussion !!!
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 17/06/2012 à 14:25
Modifié par KX le 17/06/2012 à 14:25
Pour lire un fichier, tu peux utiliser la classe Scanner
Remarque : je doute que lire le fichier à chaque fois que tu veux récupérer une donnée soit une bonne solution. L'utilisation d'une Collection (une Map par exemple) serait surement mieux pour contenir les données de ton fichier en mémoire.
Exemple :
Scanner sc = new Scanner(new File("monFichier.txt")); while (sc.hasNextLine()) { String ligne = sc.nextLine(); if(ligne.startsWith(strdeclaredansfonction) { sc.close(); return ligne; } }
Remarque : je doute que lire le fichier à chaque fois que tu veux récupérer une donnée soit une bonne solution. L'utilisation d'une Collection (une Map par exemple) serait surement mieux pour contenir les données de ton fichier en mémoire.
Exemple :
TreeMap<String,Point> map = new TreeMap<String,Point>(); Scanner sc = new Scanner(new File("monFichier.txt")); while (sc.hasNextLine()) { String ligne = sc.nextLine(); try { String[] tab = lligne.split("="); map.add(tab[0],new Point(tab[1],tab[2])); } catch (Exception e) { System.err.println(e+"\t"+ligne); } } sc.close(); // ... return map.get(strdeclaredansfonction);La confiance n'exclut pas le contrôle
Puisqu'il n'y aura pas +100 villes sur le serveur, je pense que relire le fichier suffira. Je testerai quand même ton autre solutions quand je serai un peut plus expérimenté en Java (Des erreurs que je ne comprend pas ...)
Merci :D
Merci :D
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
17 juin 2012 à 15:01
17 juin 2012 à 15:01
En ce qui concerne les erreurs, je viens de tester, et effectivement je suis allé un peu vite en tapant :
import java.awt.geom.Point2D; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import java.util.TreeMap; // ... TreeMap<String,Point2D.Double> map = new TreeMap<String,Point2D.Double>(); // ... Scanner sc = new Scanner(new File("monFichier.txt")); while (sc.hasNextLine()) { String ligne = sc.nextLine(); try { String[] tab = ligne.split("="); map.put(tab[0],new Point2D.Double(Double.parseDouble(tab[1]), Double.parseDouble(tab[2]))); } catch (Exception e) { System.err.println(e+"\t"+ligne); } } sc.close(); // ... return map.get(strdeclaredansfonction);
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 17/06/2012 à 17:15
Modifié par KX le 17/06/2012 à 17:15
Attention ! Ce n'est pas un java.lang.Double, mais un java.awt.geom.Point2D.Double.
C'est donc directement tes coordonnées, que tu peux manipuler avec les méthodes getX() et getY()
Pour éviter les confusions il vaut mieux faire comme je l'ai fait et déclarer Point2D.Double.
C'est donc directement tes coordonnées, que tu peux manipuler avec les méthodes getX() et getY()
Pour éviter les confusions il vaut mieux faire comme je l'ai fait et déclarer Point2D.Double.
Point2D.Double coord = map.get(nomVille); System.out.println(coord.getX()); System.out.println(coord.getY());