Entfernen Sie Letzte Zeichen/Zeile
Habe ich ein code-snippet, druckt den text aus einer Datei in eine JTextArea genannt textArea.
Leider die Methode, die ich verwende geht zeilenweise (nicht ideal) und so habe ich anfügen, jede Zeile mit einem \n
Dies ist in Ordnung für jetzt aber wird eine neue Zeile erstellt am Ende.
Den code habe ich wie folgt:
class menuOpen implements ActionListener {
public void actionPerformed(ActionEvent e)
{
try {
File filePath = new File("c:\\test.txt");
FileInputStream file = new FileInputStream(filePath);
BufferedReader br = new BufferedReader(new InputStreamReader(file));
String displayText;
while ((displayText = br.readLine()) != null) {
textArea.append(displayText + "\n");
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
Kann mir jemand helfen, loszuwerden, die Letzte Zeile?
InformationsquelleAutor | 2009-01-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
wie etwa:
InformationsquelleAutor radekg
InformationsquelleAutor Pierre
Andere Idee:
Die Idee ist, fügen Sie einen Zeilenumbruch vor die neue Zeile, um anzuzeigen, außer für die erste Zeile der Datei.
InformationsquelleAutor Romain Linsolas
Der einfachste Weg ist die Verwendung nicht
BufferedReader.readLine()
. Zum Beispiel:BEARBEITEN
Ich sollte dies gesehen haben, bevor, aber ein viel besserer Weg ist, lassen Sie die JTextArea Lesen der Datei:
Diese noch Lesen in dem newline am Ende, aber es wird sich normalisieren alle Zeilenenden in Ihrem text (siehe javadocs für
DefaultEditorKit
für eine Erklärung, wie die Zeilenenden behandelt werden). So können Sie loswerden der trailing newline mit so etwas wie dies:InformationsquelleAutor Jason Day
Wie etwa
InformationsquelleAutor Shawn
Anscheinend willst du einen Zeilenumbruch zwischen zwei Linien, nicht nach jedem Linie. Das bedeutet, Sie sollten mindestens zwei Zeilen:
Natürlich, es sieht komplexer. Das ist, weil 'zwischen' ist komplexer als 'nach'.
InformationsquelleAutor xtofl
In der Schleife:
d.h. wenn dort schon text in der textarea, eine neue Zeile zu beginnen.
InformationsquelleAutor Aaron Digulla
Seine Recht einfach.. Man muss nur zwicken Sie Ihren code ein wenig.
Ich glaube, dieser code produzieren Ihre gewünschten Funktion bei minimalen Kosten.
InformationsquelleAutor putuyuwono