Récuperer la valeur d'une liste dans un fichier txt

jj1k Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
forum92 Messages postés 220 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour j'utilise ce code pour creer un fichier avec 2 nouveaux champs .




package Ay;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Test {

	public static void main(String[] args) throws Exception {

		String csvFile = "d:/t1.txt";
		String csvFile1 = "C:\\csv\\csv1.txt";
		BufferedWriter bw = null;
		FileWriter fw = null;
		List<LineFile> list;
		try {
			list = ListFromTXT(csvFile);

			fw = new FileWriter(csvFile1);
			bw = new BufferedWriter(fw);
			bw.write("id,X,Y,capacite,charge,alpha,beta,alpah1,beta1" + "\r\n");
			for (LineFile xx : list) {
				bw.write(xx.getId() + "," + xx.getAttribute2() + "," + xx.getAttribute3() + "," + xx.getAttribute4()
						+ "," + xx.getAttribute5() + "," + xx.getAttribute6() + "," + xx.getAttribute7() + ","
						+ xx.getAttribute8() + "," + xx.getAttribute9() + "\r\n");
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (bw != null)
					bw.close();
				if (fw != null)
					fw.close();
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
	}

	@SuppressWarnings("resource")
	public static List<LineFile> ListFromTXT(String file_name) throws IOException {

		BufferedReader br = null;
		BufferedReader br1 = null;
		ArrayList<LineFile> files = new ArrayList<LineFile>();

		try {

			br = new BufferedReader(new FileReader(file_name));

			String linee;
			List<String> alphas = new ArrayList<String>();

			while ((linee = br.readLine()) != null) {
				alphas.add(linee.split(",")[5]);
			}

			List<String> part1 = alphas.subList(0, 8 > alphas.size() ? alphas.size() : 8);
			alphas.removeAll(part1);

			List<String> part2 = alphas.subList(0, 8 > alphas.size() ? alphas.size() : 8);
			List<Integer> resultPart2 = new ArrayList<Integer>();
			for (String p2 : part2) {
				resultPart2.add(Integer.valueOf(p2) + 50);
			}
			alphas.removeAll(part2);

			List<String> part3 = alphas.subList(0, 8 > alphas.size() ? alphas.size() : 8);
			List<Integer> resultPart3 = new ArrayList<Integer>();
			for (String p3 : part3) {
				resultPart3.add(Integer.valueOf(p3) - 30);
			}
			alphas.removeAll(part3);

			br1 = new BufferedReader(new FileReader(file_name));
			String line;
			LineFile lineFile = null;
			String[] ls = null;

			while ((line = br1.readLine()) != null) {
				ls = line.split(",");
				lineFile = new LineFile();
				lineFile.setId(ls[0]);
				lineFile.setAttribute2(ls[1]);
				lineFile.setAttribute3(ls[2]);
				lineFile.setAttribute4(ls[3]);
				lineFile.setAttribute5(ls[4]);
				lineFile.setAttribute6(ls[5]);
				lineFile.setAttribute7(ls[6]);

				for (Integer i3 : resultPart3)
					lineFile.setAttribute8(i3);

				files.add(lineFile);
			}

			return files;
		} finally {
			if (br != null) {
				br.close();
			}
		}
	}

}

























le probleme ici qu'il met toujour la derniere valeur récupérer de la list resultPart3


comment je peux parcourir la list de façon que à chaque ligne il met la valeur récupérer ?



Merci
A voir également:

1 réponse

forum92 Messages postés 220 Date d'inscription   Statut Membre Dernière intervention   133
 
Bonjour,
C'est normal qu'il te mettes la derniere valeur vu que tu boucles dans une boucle.

for (Integer i3 : resultPart3)
lineFile.setAttribute8(i3);

Il met donc la dernière valeur dans lineFile
0