Hallo Community,
ich habe ein kleines Problem. Ich habe eine .csv Datei, die ich mit dem BufferedReader als String einlesen kann. Diesen String kann ich auch wieder als .csv speichern lassen.
Ich möchte aber die csv nach einer ID (dem Anfangswert der Zeile bis zum ersten "," Trennzeichen) durchsuchen und diese Zeile dann beim erneuten Erstellen der csv auslassen möchte. Ich komme einfach nicht darauf, wie ich das durchführen kann. Ich kann zwar in einer anderen Methode die csv in einzelnen Zeilen einlesen und nur die Zeile, die die ID beinhaltet ausgeben lassen, aber ich schaffe es nicht, diese Zeile zu löschen, also beim erneuten erstellen der Datei auslesen.
Hier der bisherige Quellcode:
Danke im Voraus, ich bin offen für alle Ideen und Lösungen!
PS.: Die neue Datei soll dann im nächsten Schritt wieder in "Produkte.csv" umbenannt werden. Erstmal soll aber die Identifiezierung und das "Löschen" der Zeile kommen.
ich habe ein kleines Problem. Ich habe eine .csv Datei, die ich mit dem BufferedReader als String einlesen kann. Diesen String kann ich auch wieder als .csv speichern lassen.
Ich möchte aber die csv nach einer ID (dem Anfangswert der Zeile bis zum ersten "," Trennzeichen) durchsuchen und diese Zeile dann beim erneuten Erstellen der csv auslassen möchte. Ich komme einfach nicht darauf, wie ich das durchführen kann. Ich kann zwar in einer anderen Methode die csv in einzelnen Zeilen einlesen und nur die Zeile, die die ID beinhaltet ausgeben lassen, aber ich schaffe es nicht, diese Zeile zu löschen, also beim erneuten erstellen der Datei auslesen.
Hier der bisherige Quellcode:
Java:
import java.io.*;
import java.util.*;
public class test2
{
public static void main(String[] args) throws IOException
{
BufferedReader reader = new BufferedReader(new FileReader("Produkte.csv"));
String line = null;
int AnzahlZeilen = 0;
int AnzahlSpalten = 0;
int Dauer = 0;
boolean laenge = false;
ArrayList<String[]> strings = new ArrayList<String[]>();
while((line = reader.readLine()) != null)
{
if (laenge == false)
{
for (int i = 1; i <= line.length(); i++)
{
String test = String.valueOf(line.charAt(i - 1));
if (test.equals(","))
{
AnzahlZeilen ++;
}
}
laenge = true;
}
strings.add(line.split(","));
AnzahlSpalten++;
}
FileWriter writer = new FileWriter("Produkte2.csv");
for(int i = 0; i < strings.size(); i++)
{
String[] csvArray = (String[]) strings.get(i);
for(int j = 0; j < csvArray.length; j++)
{
Dauer ++;
if (Dauer <= AnzahlZeilen)
{
writer.write(csvArray[j] + ",");
}
if ( Dauer > AnzahlZeilen)
{
writer.write(csvArray[j]);
writer.append(System.getProperty("line.separator"));
Dauer = 0;
}
}
}
writer.close();
}
}
Danke im Voraus, ich bin offen für alle Ideen und Lösungen!
PS.: Die neue Datei soll dann im nächsten Schritt wieder in "Produkte.csv" umbenannt werden. Erstmal soll aber die Identifiezierung und das "Löschen" der Zeile kommen.
Zuletzt bearbeitet: