parsen in csv linien

gazale_m

Mitglied
Hallo alle,

Ich habe ein java a Programm der ein csv. Datei liest und mit der Information arbeitet.
Vorher, hat mein csv. Datei nur eine Zeile gehabt(happy days) aber jetzt, besteh er aus mehreren Zeilen.
Von dieser Datei brauche ich von den fünften Zeile die (00002).


csv-Datei:

Report Date,"Jul 23 "
Generated By,"Ghazale Malek"
Test Suite,"LINDA ",
Test Session,"Name","ID","Test Set","Comment","Assigned To","Planned Start","Actual Start","Planned End","Actual End"
,"Automatische Tests - täglich","00002","Regression/Automatische_Tests","","","","","",""

ich wolte nur wissen wie man direct zu dieser Zeile gehen kann(den rest muss wie vorher funktionieren!)

Code:
import java.io.*;
import java.util.*;
 
public class CSVReader {
 
	public static void main(String[] args) {
		// 
		try {
			File CSVReader= new File("c:/input.csv");
			// CSV datei wird gelesen
			FileReader reader = new FileReader(CSVReader);
			BufferedReader br = new BufferedReader (reader);
						
			String line ;
			
			try {
				while ((line =br.readLine())!=null)
				{
								System.out.println(line);	
				//StringTokenizer st = new StringTokenizer(line,",");
				//System.out.println(st);
								int iFirstComma = line.indexOf(",");				
				int iSecondComma = line.indexOf(",", iFirstComma+1);
								String sTestFileId = line.substring(iFirstComma+1, iSecondComma);
				
				String cmd = "qftest  -batch ";
				cmd += " \"P:\\o2\\86 Testautomatisierung\\qftest\\linda\\LindaTestSuite\\qf-test\\" + sTestFileId + ".qft\"";
				
				System.out.println(cmd);
				
				try {
					Process p = Runtime.getRuntime().exec( cmd );
									} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				 }
				}
				}
			 catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 
}

kann jemand mir weiter helfen?

Thanks
 
Hi

das ist doch keine CSV-Datei. In einer CSV-Datei enthält jede Zeile die selbe Datenstruktur. Höchstens die Kopfzeile kann sich unterscheiden. In Deinem Fall sieht das so aus, als würde eine fehlerhafte CSV-Datei erzeugt werden.

Kopf1, Kopf2
Feld1, Feld2
Feld1,Feld2

usw.

Wenn das nicht so ist, bist Du doch schon auf dem besten Weg. Du liest doch die Datei schon zeilenweise ein. Du müsstest Dir nur verschiedene Algorithmen für die verschiedenen Zeilennummer schreiben. Bei jedem Schleifendurchlauf einfach einen Counter mitzählen.

Btw. Es ist leichter, die gelesene Zeile mit
Java:
String [] tokens = line.split(",") ;
aufzubrechen und auszuwerten.



Gruss
 
Zurück