j'ai un fichier contient des String X,Y,Z séparée par virgule comme ça :

10.1,12,178
10,80,90

Il sont tournée en une liste ..Le code sert à lire les valeurs de Y qui existe dans le fichier et l'écrit dans un autre ...

Ma problème : qui le code fait juste l’écriture de dernier string Y !!

Lorsque j'ai testée par afficher les Y lue dans le fichier 1 ..il parait qu'il a changer chaque élement Y en un liste !!!

[1.285940753][0.244427024][-1.513604991]...........[-1.015680655]

C'est pour cela il a fait l'ecriture juste de dernier élment Y "-1.015680655"


Comment corriger ça ? et Merci




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
 
 
.......
	//Pure X Y Z ....
 
		  List<Cons> data = XYZ_FromFile_Separation.loadPoints("C:\\Users\\Crypter\\Desktop\\XYZ.in");
 
		  int nbmax =  data.size();
 
		  for(int i=0; i<nbmax; i++) {
 
 
 
				List<String> list1= Arrays.asList(data.get(i).Y);
 
 
			//exemple: changer les valeurs de Y par les valeurs qui existe dans le fichier	
	    data0.setY(list1);
 
		// data0.setY(Arrays.asList("Y", "1.285940753", "0.244427024","-1.513604991", "-2.144219863", "-0.684425397", "1.738223155", "2.798327701", "1.236355456", "-1.720345806", "-3.316592309", "-1.858743112", "1.514933796", "3.70651333", "2.518553975", "-1.151613267", "-3.963943407", "-3.186169049", "0.653299611", "4.082815281", "3.834037794", "-0.041516321", "-4.05833049", "-4.436409818", "-0.66175875", "3.888300419", "4.969475097", "1.433498689", "-3.573777838", "-5.41167208", "-2.249586403", "3.119340365", "5.744056321", "3.085055691", "-2.533162834", "-5.950673121", "-3.914489644", "1.826938617", "6.018900258", "4.712509403", "-1.015680655"));
		  data0.setX(Arrays.asList("X", "-0.5885205", "-1.714717303","-1.307287242", "0.634287929", "2.351927268", "1.994637878", "-0.411536242", "-2.733390786", "-2.653377152", "0.01467838", "2.923195861", "3.2718459", "0.511623823", "-2.942258635", "-3.830637921", "-1.134527507", "2.801486533", "4.309663516", "1.824998461", "-2.510010795", "-4.690232019", "-2.555377396", "2.078044255", "4.956014059", "3.298654248", "-1.517997779", "-5.093631466", "-4.028413083", "0.844869986", "5.093069901", "4.719079962", "-0.076269106", "-4.947972452", "-5.346315185", "-0.767782138", "4.655831915", "5.887469345", "1.665184579", "-4.218086666", "-6.322056058"));
		  data0.setZ(Arrays.asList("Z", "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")); 
		// Fin.......
 
		  data0.setType("scatter3d");
 
 
 
 
		  //........
 
.....

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
 
 
 
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
 
public class XYZ_FromFile_Separation {
	public static List<Cons > loadPoints(String filename) throws IOException {
  		return Files.lines(Paths.get(filename))
  				    .map(line-> line.split(","))
  				    .map(coord-> new Cons((String)(coord[0]), (String)(coord[1]), (String)(coord[2])))
  				    .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
  	}
 
 
}
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
 
 
public class Cons{
 
 
	String Y,X,Z;
 
	public Cons(String X,String Y,String Z)
	{
		this.X=X;
		this.Y = Y ;
		this.Z=Z;
 
 
	}
}