Auslesen von .csv Datein in ein Klassen Array

oOCubeOo

Mitglied
Hallo,

ich habe eine .csv Datei, dort hab ich die Werte "Vorname, Nachname, Benutzername, Passwort, Punkte" gespeichert.

Beispiel:

Hans Jürgen HaJü 12n34 25
Dieter Musterman DiMu 43n21 77

Diese möchte ich nun in einlesen. Bis jetzt sieht das dann so aus.
[Hans,Jürgen;HaJü;12n34;25]

Ich möchte diese aber gerne in das Klassen-Array einfügen(Ich weiß nicht genau ob es Klasse-Array heißt).
Hier die Klasse:

Java:
public class User
{
    public String vorname;
    public String nachname;
    public String benutzername;
    public String passwort;    
    public int punkte;
    public User(String pVorname,String pNachname,String pBenutzername,String pPasswort, int pPunkte)
    {
        vorname=pVorname;
        nachname=pNachname;
        benutzername=pBenutzername;
        passwort=pPasswort;
        punkte=pPunkte;
    }
}

So kann man manuel einen Benutzer einfügen:

Java:
public class AddUser
{
    User newUser[] = new User[1];
    public AddUser()
    {
        newUser[0] = new User("Hans","Jürgen","HaJü","12n34",25);
    }
}
{

Aber wie kann ich jz die Daten aus der .csv Datein in das Array newUser[] einfügen, es muss nicht zwingend eine .csv datei sein, es kann auch .txt oder sonst was sein.

Danke schonmal im vorraus! :)
 

kaoZ

Top Contributor
BufferedReader und String
Code:
.split(hierDeinTrennzeichen);
verwenden

Zeilenweise einlesen, input in tokens aufsplitten und deinem Userobjekt zuweisen.

angenommen deine Datei ist folgendermaßen angelegt

Java:
#Name | Nachname | Punktestand
Martin ; Müller ; 354485

ignorierst du beim einlesen z.B die erste Zeile mit .
Code:
startsWith("#");

und liest die folgenden Zeilen dann aus und splittest mit
Code:
.split();
jeweils bei
Code:
;
 
Zuletzt bearbeitet:

torsan

Mitglied
Hi,

ein Array ist hier wahrscheinlich die falsche Wahl, außer du willst nur eine bestimmte Anzahl an User Objekten laden.
In einer Liste kannst du beliebig viele User Objekte speichern und bist nicht auf eine bestimmte Größe gebunden.

Hier mal ein Vorschlag:

Java:
public class UserModel {

	private final List<User> users = new ArrayList<User>();

	public void addUser(final User user) {
		users.add(user);
	}

	public List<User> getUsers() {
		return users;
	}

	public User getUser(final int index) {
		return users.get(index);
	}
}

Hier noch ein Beispiel zum Einlesen der CSV Datei:

Java:
      public UserModel read(String filepath) {
		final UserModel userModel = new UserModel();
		BufferedReader br = null;
		String line = "";
		try {

			br = new BufferedReader(new FileReader(filepath));
			while ((line = br.readLine()) != null) {
				final String[] tokens = line.split(";");
				final String vorname = tokens[0];
				final String nachname = tokens[1];
				final String benutzername = tokens[2];
				final String passwort = tokens[3];
				final String punkte = tokens[4];
				userModel.addUser(new User(vorname, nachname, benutzername,
						passwort, punkte));
			}
		} catch (final FileNotFoundException e) {
			e.printStackTrace();
		} catch (final IOException e) {
			e.printStackTrace();
		} finally {
			if (br != null) {
				try {
					br.close();
				} catch (final IOException e) {
					e.printStackTrace();
				}
			}
		}
		return userModel;
	}
 

oOCubeOo

Mitglied
Zuerst mal danke für deine Antwort,
aber mit BufferedReader und Split arbeite ich bereits. Ich schaffe es nicht, das eingelesene in meinem Array einzufügen. In ein einfaches Array hab ich dies bereits schon geschafft.
Gibt es eine Möglichkeit wie z.b. newUser[0].vorname = A 1, newUser[0].nachname = B 1, etc ?
Oder gibt es was leichteres?
Jedes TextField dieser csv datei soll einzeln ausgelesen werden.

Falls ich dich falsch verstanden habe, würde ich dich gerne um einen kleinen Beispielcode bitten :D
 

oOCubeOo

Mitglied
Ja, an eine List hatte ich auch shcon gedacht, aber ich fand es persönlich leichter, die Logindaten mit einem array zu vergleichen. Aber ich versuch mich mal an einer List :D Danke!
 

torsan

Mitglied
Klasseneigenschaften werden normalerweise mit Setter und Getter verändert bzw. ausgelesen.

Du kannst das natürlich auch mit einem Array machen. Deine Klasse User muss dann aber auch die Setter und Getter bereitstellen.

In deinem Fall sind die Klassenvariablen alle Public und somit kannst du die Werte auch mit direkt mit newUser[0].vorname verändern. Aufgrund der Sichtbarkeit sollte das aber vermieden werden.
 

oOCubeOo

Mitglied
Danke für eure Hilfe,

ich hab es dann jetzt irgendwie geschafft! :D

Java:
public class LoadUser
{
        AddUser adduser = new AddUser();
        public int numberOfUser = 0;
        public void readCSVTime() {
            try {
                java.io.BufferedReader FileReader=                      //ein Reader um die Datei Zeilenweise auszulesen
                    new java.io.BufferedReader(
                        new java.io.FileReader(
                            new java.io.File("test.csv")
                        )
                    );            
                String zeile="";           
                while(null!=(zeile=FileReader.readLine())){         
                    String[] split=zeile.split(";");               
                    System.out.println(split[0]);
                    adduser.newUser[numberOfUser] = new User(split[0],split[1],split[2],split[3],Integer.parseInt(split[4]));
                    numberOfUser += 1;
                }            
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        public void test()
        {
            for(int i = 0; i < numberOfUser; i++){
                System.out.println(
                adduser.newUser[i].vorname + " "+ 
                adduser.newUser[i].nachname + " "+ 
                adduser.newUser[i].benutzername + " "+ 
                adduser.newUser[i].passwort + " "+ 
                adduser.newUser[i].punkte
                );
            }
        }
    }

Habt ihr noch i-was zu verbessern? dann her damit :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Datein auslesen und verarbeiten Java Basics - Anfänger-Themen 1
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
T array auslesen Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
U Sekunden von LocalTime auslesen, wie möglich? Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9
J Jsonfile auslesen Java Basics - Anfänger-Themen 8
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
J Bestimmte parameter aus Jsonfile auslesen Java Basics - Anfänger-Themen 15
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
L Zeichen an bestimmter Stelle auslesen Java Basics - Anfänger-Themen 4
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3
J Json Datei auslesen Java Basics - Anfänger-Themen 4
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
S Tastatureingabe auslesen und in Konsole ausgeben Java Basics - Anfänger-Themen 6
S CSV Datei auslesen und anders darstellen Java Basics - Anfänger-Themen 2
G Scanner nutzen und Index auslesen Java Basics - Anfänger-Themen 8
N JTable auslesen Java Basics - Anfänger-Themen 6
N Java CSV Datei auslesen Java Basics - Anfänger-Themen 6
F Webseiten Quelltext auslesen Java Basics - Anfänger-Themen 5
J Datei auslesen (nur bestimmte Stellen) Java Basics - Anfänger-Themen 2
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
S Aus einer .bz2 Datei auslesen Java Basics - Anfänger-Themen 2
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
B Name von Verzeichnis bekommen - Files von einem Ordner auslesen Java Basics - Anfänger-Themen 4
A Daten auslesen/vergleichen Java Basics - Anfänger-Themen 3
D XML von Seite auslesen Jsoup Java Basics - Anfänger-Themen 2
I Druckerauflösung auslesen - mittlerweile möglich? Java Basics - Anfänger-Themen 4
B WSDL auslesen? Java Basics - Anfänger-Themen 8
D Methoden Textdokument erstellen und auslesen. Java Basics - Anfänger-Themen 46
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
S CSV auslesen UTF-8 Problem Java Basics - Anfänger-Themen 7
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
K String buchstaben auslesen Java Basics - Anfänger-Themen 9
S Amazon Produktbeschreibung auslesen und nach Keywords suchen Java Basics - Anfänger-Themen 2
x-tshainge Interface Wie kann ich aus Textfeldern auslesen Java Basics - Anfänger-Themen 6
Z Ersten Buchstaben eines Elements eines String-Arrays auslesen Java Basics - Anfänger-Themen 5
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
CptK x wert eines Bildes auslesen Java Basics - Anfänger-Themen 1
T Website auslesen Java Basics - Anfänger-Themen 2
T String auslesen bzw. überprüfen Java Basics - Anfänger-Themen 1
L CSV Auslesen Java Basics - Anfänger-Themen 5
B Auslesen von PDF / Bilder Java Basics - Anfänger-Themen 5
das_leon Alle Zeilen einer CSV-Datei auslesen Java Basics - Anfänger-Themen 1
D Mit Java HTML bzw Javascript auslesen Java Basics - Anfänger-Themen 1
F Arrays Sätze speichern und einzelne Worte mit Index Angabe auslesen Java Basics - Anfänger-Themen 4
F Zwischenwerte aus Browser auslesen Java Basics - Anfänger-Themen 19
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
T class Datei auslesen Java Java Basics - Anfänger-Themen 5
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
D String erste Zahl mit LKZ auslesen lassen Java Basics - Anfänger-Themen 36
J Hashmap auslesen Java Basics - Anfänger-Themen 7
J Auslesen/speichern und wieder einlesen Java Basics - Anfänger-Themen 7
D String untereinander auslesen lassen Java Basics - Anfänger-Themen 2
M Aus Datei auslesen und untersuchen ob diese Zeile schon vorhanden ist Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Variablen Zahlen aus Strings auslesen Java Basics - Anfänger-Themen 4
J Informationen aus Webseiten auslesen Java Basics - Anfänger-Themen 1
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
dragonfight86 Erste Schritte OpenDocument auslesen Java Basics - Anfänger-Themen 13
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
W DNS Name auslesen + weitere Anfängerfrage Java Basics - Anfänger-Themen 4
C Werte aus JTable auslesen Java Basics - Anfänger-Themen 4
Chrizzey45 Calc-Dokument in Java auslesen? Java Basics - Anfänger-Themen 2
B Datei auslesen und 2D-Array anlegen Java Basics - Anfänger-Themen 1
B Key auslesen/ausgeben innerhalb von foreach() Java Basics - Anfänger-Themen 5
M Eigenschaften einer Datei auslesen Java Basics - Anfänger-Themen 5
M Textarea auslesen und beschreiben Java Basics - Anfänger-Themen 8
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
Y Bildschirmauflösung auslesen Java Basics - Anfänger-Themen 4
S for schleife auslesen Java Basics - Anfänger-Themen 4
Voreck String Zeichen für Zeichen auslesen Java Basics - Anfänger-Themen 9
Voreck Array aus txt datei auslesen Java Basics - Anfänger-Themen 2
N JFreeChart --> TimeSeries auslesen Java Basics - Anfänger-Themen 9
OlafHD Datei Auslesen Java Basics - Anfänger-Themen 6
M Metadaten OpenOffice mit Java auslesen Java Basics - Anfänger-Themen 9
P JList, aus selectedValue bestimmten Wert aus Containerklasse auslesen Java Basics - Anfänger-Themen 4
J OpenOffice Dokumentenvariable mit Java auslesen Java Basics - Anfänger-Themen 1
P Daten von Internetseite auslesen Java Basics - Anfänger-Themen 10
L Text eingeben und im Textfeld auslesen lassen Java Basics - Anfänger-Themen 2
T Combobox Wert auslesen und damit weiterrechnen Java Basics - Anfänger-Themen 6
J Datei auslesen klappt nicht Java Basics - Anfänger-Themen 4
D String Zeichen für Zeichen auslesen Java Basics - Anfänger-Themen 5
Viktim Website auslesen Java Basics - Anfänger-Themen 8
T Auslesen mehrerer jComboBox (-en) Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben