Bonjour tout le monde,
J'apprends actuellement à travailler sur les fichiers.
La première partie de ma classe JAVA permet de remplir un tableau avec 5 chiffres tirés aléatoirement avec la méthode random de la classe Math.
J'aurais aimé ensuite lire le contenu du fichier txt (complété juste avant avec les 5 chiffres aléatoires) et ceci dans la même méthode main.
Est-ce qu'on peut avoir une opération d'écriture et une opération de lecture sous la même méthode main ?
ça n'a pas l'air de fonctionner chez moi.
Il écrit bien les 5 chiffres dans le fichier txt mais quand je lis le fichier, il m'affiche 5 zéro.
Voici le code :
Savez-vous comment résoudre ce problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 import java.io.*; public class Exercice2 { //Cet exercice permet de choisir 5 chiffres aléatoires dans un tableau et //ensuite de les copier dans le fichier txt java4.txt //Problème : les fichiers txt n'acceptent QUE les String j'obtiens donc des //symboles à la place des chiffres. //Le problème a été vite résolu grâce à "" qu'on met après fichier.write //cela donne fichier.write("" + nobmre[i]) public static void main (String [] args) throws IOException { FileWriter fic = new FileWriter("c:\\java4.txt"); BufferedWriter fichier = new BufferedWriter(fic); FileReader ficLecture = new FileReader("c:\\java4.txt"); BufferedReader fichierLecture = new BufferedReader(ficLecture); int [] nombre = new int [5]; for (int i=0; i < 5; i++) { nombre[i] = (int) (Math.random()*10)+1; } for (int i = 0; i < 5; i++) { System.out.println(nombre[i]); } for (int i =0; i < 5; i++) { fichier.write(""+nombre[i]); fichier.newLine(); } String ligne = fichierLecture.readLine(); int chiffres [] = new int [5]; while (ligne != null) { for (int i = 0; i < 5; i++) { chiffres[i] = Integer.parseInt(ligne); ligne= fichierLecture.readLine(); } } System.out.println(); for (int i =0; i < 5; i++) { System.out.println(chiffres[i]); } System.out.println(); fichier.close(); } }
Merci d'avance.
beegees
Partager