Wie lese ich ein Textdokument so aus das nicht alles in einer Zeile steht(Textarea)

fm it

Mitglied
Hallo ich beschäftige mich seit einiger zeit mit java klappt auch alles ganz gut nun will ich aber ein Textdokument so auslesen das in einer JTextarea angezeigt wird. Ich habe es geschaft die erste Zeile auszulesen mehr aber auch nicht ...
 
Java:
	try {
		BufferedReader in = new BufferedReader(new FileReader("C:/Users/Finn/Desktop/Datenbank.txt"));
		String zeile = null;
		while ((zeile = in.readLine()) != null) {

text = new JTextArea ();
text.setLineWrap(true);
text.setBounds(10,200,1000,500);
text.setWrapStyleWord(true);
text.setOpaque(false);
add(text);

			text.setText("" + zeile);
			
		}
	} catch (IOException e) {
		e.printStackTrace();
	}
}

@Override
public void actionPerformed(ActionEvent arg0) {
	// TODO Auto-generated method stub
	
}


}
 
Das passiert immer wenn ein Button geklickt wird. Dann wird immer eine neue Textarea erstellt wenn der Button geklickt wird oder ? Und soll ich die Textarea vor den Button stellen oder vor den Befehl
Java:
while( (zeile = in.readLine()) != null )
 
Servus,
vfl_freak hat recht, die JTextArea gehört aus der While-Schleife raus. Und an deiner Stelle würd ich auch erst mal einen String komplett mit dem Inhalt der Datei befüllen und diesen String dann in die JTextArea schreiben:

Java:
text = new JTextArea ();

...

BufferedReader in = new BufferedReader(new FileReader("C:/Users/Finn/Desktop/Datenbank.txt"));
String dateiInhalt;
while(zeile = in.readLine()) != null ) {
    dateiInhalt += zeile+"\r\n";
}

text.setText(dateiInhalt);

Mit der Anweisung "setText(Zeile)" innerhalb der While-Schleife überschreibst du nämlich den Inhalt deiner TextArea immer wieder.

lg
 
Moin,

Das passiert immer wenn ein Button geklickt wird. Dann wird immer eine neue Textarea erstellt wenn der Button geklickt wird oder ? Und soll ich die Textarea vor den Button stellen oder vor den Befehl
Java:
while( (zeile = in.readLine()) != null )
genau!
Erst den Textbereich deklarieren, dann in der while-Schleife zeilenweise einlesen (in einen String) und nach der Schleife den Text in den Textbereich füllen ...

Gruß
Klaus

[EDIT]
zu langsam :-(
[/EDIT]
 
Java:
try {
	text = new JTextArea ();
text.setLineWrap(true);
text.setBounds(10,200,1000,500);
text.setWrapStyleWord(true);
text.setOpaque(false);
add(text);
	BufferedReader in = new BufferedReader(new FileReader("C:/Users/Finn/Desktop/Datenbank.txt"));
	String zeile = null;
	while ((zeile = in.readLine()) != null) {



		
		
	}
	text.setText("" + zeile);
} catch (IOException e1) {
	e1.printStackTrace();
}
}

public void actionPerformed1(ActionEvent arg0) {
// TODO Auto-generated method stub
 

Neue Beiträge

Zurück