DumDum Geschrieben 23. April 2003 Teilen Geschrieben 23. April 2003 Hallo, ich hab ein Problem beim einlesen einer Textdatei. Ich will sie einlesen und den Inhalt in einer TextArea anzeigen. Das Problem ist das ich die Datei zwar einlesen kann aber es wird immer nur die letzte Zeile angezeigt. Vielleicht kann mir jemand helfen. Mal alles was mit dem Stream zu tun hat. ---------------------------------------------------- JTextArea Text = new JTextArea ("", 1, 1); String S; Panel1.add("Center",Text); Text.setEditable(false); public void actionPerformed (ActionEvent e) { Object source = e.getSource(); if(source == MenuItem1) { Text.setText("Neu"); } if(source == MenuItem2) { try { BufferedReader file_in = new BufferedReader (new InputStreamReader (new FileInputStream("Filme.txt"))); while( (S = file_in.readLine()) != null) { Text.setText(S); } file_in.close(); } catch(IOException ioe){ ioe.printStackTrace(); } } if(source == MenuItem3) { Text.setText("Speichern"); } if(source == MenuItem4) { System.exit(0); } } public static void main(String args[]){ JFilmeVerwalter test = new JFilmeVerwalter(); test.fenster(); } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 23. April 2003 Teilen Geschrieben 23. April 2003 Hi, verwende statt setText() mal append(); das muesste gehen. so long Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DumDum Geschrieben 23. April 2003 Autor Teilen Geschrieben 23. April 2003 Danke für deine schnelle Antwort. Es funktioniert jetzt zwar, aber jetzt gibt er alles in einer Zeile aus. Ich will aber das er die Zeilen beibehält. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 23. April 2003 Teilen Geschrieben 23. April 2003 JTextArea.append(BufferedReader.readLine() + "\r"); oder JTextArea.append(BufferedReader.readLine() + "\n"); muesste gehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DumDum Geschrieben 23. April 2003 Autor Teilen Geschrieben 23. April 2003 Danke. Noch ein Stück weiter Mit Text.append(file_in.readLine() + "\r"); geht es nicht. aber mit Text.append(file_in.readLine() + "\n"); jetzt is aber das Problem das immer nur jede 2.te Zeile ausgegeben wird. Und am Schluß null steht ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 23. April 2003 Teilen Geschrieben 23. April 2003 und "\n\r" ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DumDum Geschrieben 23. April 2003 Autor Teilen Geschrieben 23. April 2003 ne geht immer noch nicht ... immer nur die 2.te Zeile ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DumDum Geschrieben 24. April 2003 Autor Teilen Geschrieben 24. April 2003 hat vielleicht jemand ne andere Lösung ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DumDum Geschrieben 24. April 2003 Autor Teilen Geschrieben 24. April 2003 ahhhhhhhhhhhh .......... "peinlich" ... hab die "Lösung" ... hab while( (S = file_in.readLine()) != null) { Text.append(file_in.readLine() + "\n\r"); gemacht ... aber while( (S = file_in.readLine()) != null) { Text.append(S + "\n\r"); gehörts sich. SORRY Aber jetzt weis ich wenigstens wie man nur jede zweite Zeile ausliest ;D Hm vielleicht kann mir ja noch jemand mit dem Speicher einer Datei helfen. Hab mal so ins blaue getippt (bin absoluter Neuling) und diese Methode geschrieben. Ok is schon *******e aber vielleicht kann mich ja jemand verbessern ___________________________________ public void speichern () { try { PrintWriter file_out = new PrintWriter (new OutputStreamWriter (new FileOutputStream("Filme.txt"))); while( (S = file_out.readLine()) != null) { file_out.write("Filme.txt"); } file_out.close(); } catch(IOException ioe){ ioe.printStackTrace(); } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.