J'ai une affectation qui me demande de lire dans un fichier, nous un ArrayList pour organiser et déclarer les nombres, puis calculer la moyenne de ces nombres et les imprimer dans un nouveau fichier. Je sais que j'ai besoin de 3 parties pour ce qui serait le Reader, Writer et la liste des tableaux, mais je reçois une erreur lors de la compilation lorsque j'essaie de lire à partir du scanner. Quelqu'un peut-il aider à lire le fichier avec ArrayList et comment écrire dans un nouveau fichier.Lecture à partir d'un fichier utilisant ArrayList en Java
import java.util.ArrayList;
import java.util.Collections;
import java.io.*; //Replaces the scanner
import java.io.BufferedReader;
import java.util.Scanner;
import java.io.FileReader; // Used by the BufferedReader import java.util.Scanner;
import java.io.FileNotFoundException; //
import java.io.IOException; //
class SD9 {
public static void main(String[] args) {
try{
FileReader Fr = new FileReader("Patriots.txt");
// the file reader bridges the program and the .txt file together.
BufferedReader Br = new BufferedReader(Fr);
String line = Br.readLine();
// BufferredReaders can only read one line at a time.
FileWriter fw = new FileWriter("PatriotsStat.txt");
BufferedWriter bw = new BufferedWriter(fw);
while(line != null) {
//BufferredReaders return null once they've reached the end of the file.
ArrayList<Double> Patriots = new ArrayList<Double>();
for(int i = 0; i < 23; ++i) {
Patriots.add(scan.nextDouble());
}
/* String Line1 = "2014 PreSeason:";
bw.write( " " );
bw.newLine();
/*String Line3 = " FinalAvg: " + finalAvg;
bw.write(Line3);
bw.newLine();*/
}
bw.close();
}catch(FileNotFoundException F) {
//.....
} catch(IOException I) {
}
}
}
Déclarez votre ArrayList en dehors de la boucle while s'il vous plaît. –
Patriots.add (Double.parseDouble (line); // en supposant que votre fichier ne possède que les nombres –
Voulez-vous calculer la moyenne de tous les nombres sur chaque ligne? Ou votre fichier d'entrée ne comporte-t-il qu'un seul numéro par ligne? –