Einlesen und Auslesen einer Textdatei in Java

Du liest einfach jede Zeile ein und erstellst ein neues Studentenobject pro Zeile. In der jeweiligen Zeile suchst du dir halt per split den Teil den du brauchst und steckst ihn in das erstellte object.
So wie es billie oben schon beschrieben hatte
Java:
public static void main(String[] args) {
       
        BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader(new File("datei.csv")));
            String line = null;
            while((line = br.readLine()) != null) {
                // Ganze Zeile:
                // System.out.println(line);               
                String[] parts = line.split(";");
                System.out.println("Vorname: " + parts[0]);
                System.out.println("Nachname: " + parts[1]);
                // ...
            }
        } catch(FileNotFoundException e) {
            e.printStackTrace();
        } catch(IOException e) {
            e.printStackTrace();
        } finally {
            if(br != null) {
                try {
                    br.close();
                } catch(IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
Dort wo jetzt das System out ist, steckst du die Sachen in das Studentenobjekt :D
 
Also, erstma danke das ihr euch Zeit genommen habt für mein Problem. Habs jetzt endlich so wie ich es haben wollte.

Habe also 4 Klassen erstellt, zum einen die Main, Klasse Studenten mit get und set Methoden für die Attribute Vorname Name Tele und Matrikelnummer, die Klasse Node für jeweils einen Knoten der verketteten Liste und die verkettete Liste als Klasse selbst die wie folgt aussieht:
Code:
public class Sort {
	
	 public Node head=new Node(null);
	//public Node tail=new Node(null);

	
	public void show(Person pers) {
		for(Node p=head; p!=null;p=p.next){
			System.out.println(p.element);
		}
	}
	public void sortierenMatrikel(Person pers ) {
		Node node=new Node(pers);
		if(head.next==null) {
			head.next=node;
		}
			else {
		for(Node p=head; p.next!=null; p=p.next) {
			 if(p.next.element.getMatrikelnummer()>node.element.getMatrikelnummer()) {
				 node.next=p.next;
				 p.next=node;
				 break;
				}
			 else {
				 p.next=node;
				 
			 }
				
			}
			for(Node p=head.next; p!=null; p=p.next) {
				System.out.println(p.element.toString());
			}
	  
		  }
	  
		  }
	  
	}
Danke trotzdem nochma für den Support
 
Klappt alles gut in der Konsole aber wie ist das mit Grafiken müsste doch eigtlich einfach text.setText(line);
Aber das will er nicht machen...
 
Hi und Willkommen bei tutorials.de,

was genau meinst du?
Redest du von Bilddateien oder einer grafischen Oberfläche?
Mit welchem Code hast du es probiert?
Was passiert? Fehlermeldungen?
 
Grafische Oberflächen.
Ich habe ein Text Label das sich zu dem Inhalt vom Textdokument ändern soll wenn man auf einen button klickt.
Es passiert gar nicht keine Fehlermeldung.
 
Java:
FileReadWriteExample lu = new FileReadWriteExample();
    	
    	
    	button = new JButton ("Datenbank");
    	button.setBounds(10, 10 ,150,50);
    	button.addActionListener(lu);
    	button.setEnabled(true);
    	button.setToolTipText("Datenbank");
    	add (button);
public class FileReadWriteExample implements ActionListener {
	
	
	@Override
	public void actionPerformed(ActionEvent e2) {
		// TODO Auto-generated method stub
		
		if(e2.getSource()== button){
        BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader(new File("C:/Users/FINN/Desktop/Datenbank.txt")));
            String line = null;
            while((line = br.readLine()) != null) {
               
               text.setText(line);
               
            }
        } catch(FileNotFoundException e) {
            e.printStackTrace();
        } catch(IOException e) {
            e.printStackTrace();
        } finally {
            if(br != null) {
                try {
                    br.close();
                } catch(IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
 
Zuletzt bearbeitet von einem Moderator:
Vllt. ist die letzte Zeile ja leer (nur ein Enter, dann Schluss)?
Mit deinem Code bleibt nämlich nur die letzte Zeile der Datei im Textfeld.
Schreib statt
Java:
 text.setText(line);
mal das:
Java:
 text.setText(text.getText() + " " + line);
 
Ja das klappt Dankeschön.
Aber jetzt schriebt er alles in eine Zeile. Ich wollte die Daten unteeinnander wie in der TExtdatei haben.
 
Zurück