CSV Datei in String Array -> Split -> New Array

Pschi

Mitglied
Moin,

ich arbeite gerade an einen Projekt in dem ich von einer Seite eine .txt Datei aufrufe, die CSV Based kodiert ist, diese csv Daten schreib ich in ein Array. Nun kommt mein Problem, ich versuche diese CSV Daten zu splitten mit .split(",") und ich will diese Daten in eine Art Array speichern, aber mein problem ist, dass er nur 14-15 Zeichen nimmt (also von der ersten Zeile der CSV 14 zeilen) und hört dann auf diese zu konkatanieren. Vielleicht könnt ihr mir weiter helfen:

Java:
public class DataCollector extends JFrame
	{
		static int max = 70;
		private static String[] openUrl() throws Exception
		{
			double zahl = 0.0;
			int i = 0;
			String line;
			String[] serverdaten = new String[max];
			
			URL url = new URL("https://url.de");
			BufferedReader in = new BufferedReader
									(
											new InputStreamReader(url.openStream())
									);
	         while ((line = in.readLine()) != null)
	         {
	             serverdaten[i] = line;
	             i = i + 1;
	         }
	         
	         in.close();
	         
			return serverdaten;
		}
		public static void verarbeiteDaten(String[] geleseneDaten) throws Exception
		{
			String verarbeiteDaten = "";
			String[] verarbeiteteDaten = new String[geleseneDaten.length*16];
			int i = 0;	
			while(geleseneDaten[i] != null)
			{
				verarbeiteDaten = geleseneDaten[i];
				verarbeiteteDaten = verarbeiteDaten.split(";");
				System.out.println(verarbeiteteDaten[i]);
				i++;
			}
		}
		public static void main(String[] args) throws Exception 
		{
			String[] geleseneDaten = new String[max];
			geleseneDaten = openUrl();
			verarbeiteDaten(geleseneDaten);
		}
	}

Die URL in URL url = new URL("https://url.de"); hatte ich aus Datenschutzgründen geändert. Die Daten sehen wie folgt aus:

31.10.2012 13:12:51;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;17
31.10.2012 14:12:51;3;4;5;6;7;8;9;20;11;12;13;14;15;16;17;27
31.10.2012 15:12:51;3;4;5;6;7;8;9;30;11;12;13;14;15;16;17;37
31.10.2012 16:12:51;3;4;5;6;7;8;9;40;11;12;13;14;15;16;17;47
31.10.2012 17:12:51;3;4;5;6;7;8;9;50;11;12;13;14;15;16;17;57
31.10.2012 18:12:51;3;4;5;6;7;8;9;60;11;12;13;14;15;16;17;67
31.10.2012 19:12:51;3;4;5;6;7;8;9;70;11;12;13;14;15;16;17;77
31.10.2012 20:12:51;3;4;5;6;7;8;9;80;11;12;13;14;15;16;17;87
31.10.2012 21:12:51;3;4;5;6;7;8;9;90;11;12;13;14;15;16;17;97
31.10.2012 22:12:51;3;4;5;6;7;8;9;100;11;12;13;14;15;16;17;117
31.10.2012 23:12:51;3;4;5;6;7;8;9;110;11;12;13;14;15;16;17;127
31.10.2012 08:12:51;3;4;5;6;7;8;9;120;11;12;13;14;15;16;17;137
31.10.2012 07:12:51;3;4;5;6;7;8;9;130;11;12;13;14;15;16;17;147

Meine Ausgabe sieht so aus:

Code:
31.10.2012 13:12:51
3
4
5
6
7
8
9
90
11
12
13
14

Bearbeitet wird das ganze in der Methode public static void verarbeiteDaten(String[] geleseneDaten) throws Exception

Ich hoffe ihr könnt mir weiter helfen. Ich bin am verzweifeln.

Grüße,

Pschi
 
Das liegt daran, das du von jeder Zeile nur ein Wert Ausgibst;

probiert mal deinen code so zu ändern
dein code
Java:
 while(geleseneDaten[i] != null)
            {
                verarbeiteDaten = geleseneDaten[i];
                verarbeiteteDaten = verarbeiteDaten.split(";");
                System.out.println(verarbeiteteDaten[i]);
                i++;
            }
neuer code
Java:
while(geleseneDaten[i] != null)
            {
                verarbeiteDaten = geleseneDaten[i];
                verarbeiteteDaten = verarbeiteDaten.split(";");
for (int j=0;j<(verarbeiteteDaten.length;j++){
                System.out.println(verarbeiteteDaten[j]);
}
                i++;
            }
 
Hi TryToHelp,

das scheint zu funktionieren. Jetzt muss ich diese Daten nur noch weiter verarbeiten und in ein Chart packen! Super. Danke dir! 🙂
 

Zurück
Oben