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 :

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();
 
	}
}
Savez-vous comment résoudre ce problème ?

Merci d'avance.

beegees