Datei einlesen teile aus lines ändern und wieder rausschreiben.

javalui

Aktives Mitglied
Hey leute,

erstmal hallo an alle da ich mir jetzt doch endlich einen Acc zugelegt habe.

Ich bin derzeit dabei ein Tool zu schreiben welches eine .csv und eine .txt einliest.
Dann muss in jeder zeile der csv 3 mal ein www.blablabla.de gegen eine ip ersetzt werden.
Wie kann ich das verwirklichen.

Java:
	public LinkedList<String[]> loadList(int pathswitch) throws IOException{ //pathswitch ist eine zahl die den pfad wählt 1 oder 2 sind erlaubt
		pathSwitcher(pathswitch);
		BufferedReader file = new BufferedReader(new FileReader(path));
		String line = file.readLine();
		LinkedList<String[]> list = new LinkedList<String[]>();;
		while(line != null) {
//Hier soll er die erste zeile die ja jetzt noch ein ewig langer String bestehend aus Zeichen
//Zahlen und der Url besteht geändert werden bevor er gesplittet wird.
//bsp. einer Zeile: 56546544;Article;Produktname;[url]www.beispielurl.de;65444SA;www.beispielurl.de;[/url]
//Ich möchte das [url]www.beispielurl.de[/url] gegen eine ip austauschen.


				String[] content = line.split(";"); //
				list.add(content);
				line = file.readLine();
			}
			file.close();
			return list;
	}


währe euch sehr dankbar für eine Lösung hoffe das war so weit verständlich :S
 
Du könntest da du ja anscheinend nicht darauf prüfst, ob es 3 mal dasteht, einfach per String.replaceAll() und regExp deine URL durch die IP zu ersetzen
 
Das Problem ist, dass es in manchen Zeilen auch garnicht verfügbar ist und dann später wieder 4 mal oder auch mal 5 mal.

Ist das im fall von .replaceAll() egal?
 
mit der regExp läuft Java den String ab und ersetzt alles was er findet.

wenn du zum Beispiel aus "asdfegasdasd" alle "a" durch "z" ersetzen möchtest, dann schreibst

Java:
"asdfegasdasd".replaceAll("a","z");

sollte funktionieren. Du musst aber beachten, dass die regExp wirklich alles nimmt, was passt

JavaDocs
 

Zurück
Oben