Charger des propriétés d'un fichier .txt
Lexo
-
ParadiseLost Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
ParadiseLost Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai à charger des données dans un fichier texte. Voilà exactement ce que je veux faire:
Dans ma classe Planete, j'ai les attributs: -nom, -masse, -rayon.
Dans mon fichier texte j'ai:
Terre
5973600000000 (exemple)
6000000
Donc, ce que ma méthode doit faire, c'est récupérer l'info et la stocker dans l'attribut qui lui est associé, et ce, ligne par ligne, pour qu'il en résulte:
public Planete(){
nom = "Terre";
masse = 5973600000000;
rayon = 6000000;
}
Évidemment, l'utilisation des classes input/output seront utilisées, mais je ne sais pas comment les utiliser pour avoir exactement comme je le souhaite.
Merci de votre aide!
J'ai à charger des données dans un fichier texte. Voilà exactement ce que je veux faire:
Dans ma classe Planete, j'ai les attributs: -nom, -masse, -rayon.
Dans mon fichier texte j'ai:
Terre
5973600000000 (exemple)
6000000
Donc, ce que ma méthode doit faire, c'est récupérer l'info et la stocker dans l'attribut qui lui est associé, et ce, ligne par ligne, pour qu'il en résulte:
public Planete(){
nom = "Terre";
masse = 5973600000000;
rayon = 6000000;
}
Évidemment, l'utilisation des classes input/output seront utilisées, mais je ne sais pas comment les utiliser pour avoir exactement comme je le souhaite.
Merci de votre aide!
A voir également:
- Charger des propriétés d'un fichier .txt
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
3 réponses
Salut,
String fichier = "nomDeTonFichier.txt"; String tmp[] = new String[3]; int i = 0; try{ InputStreamReader fis = new InputStreamReader(new FileInputStream(fichier)); x = fis.read(b, 0, 1); while(x != -1 && i < 3) { if(b[0] == '\n') i++; else tmp[i] += x; x = fis.read(b, 0, 1); } } catch (IOException e) {} nom = tmp[0]; masse = Integer.parseInt(tmp[1]); rayon = Integer.parseInt(tmp[2]);
Ça ne marche :/
J'ai initialisé b: char [] b = new char[10];
et x: int x;
Sauf que pour quoi x est un entier, si on est supposé y stocker du texte?
Quand j'ai runné avec ça, un message d'erreur m'est apparu et dedans il y avait:
blabla....null11111 (même nombre de 1 que dans le mot "Terre", qui est dans mon fichier lu). Dans la javadoc, la méthode utilisée retourne 1 s'il y a un caractère de lu, et non sa valeur en char.
J'ai initialisé b: char [] b = new char[10];
et x: int x;
Sauf que pour quoi x est un entier, si on est supposé y stocker du texte?
Quand j'ai runné avec ça, un message d'erreur m'est apparu et dedans il y avait:
blabla....null11111 (même nombre de 1 que dans le mot "Terre", qui est dans mon fichier lu). Dans la javadoc, la méthode utilisée retourne 1 s'il y a un caractère de lu, et non sa valeur en char.