Hallo,
ich habe folgendes Problem mit meinem Programm.
Erst mal zum Programm selber: Es soll eine Textdatei (etwa 20 mb) groß öffnen und in einer JTextPane anzeigen.
Jetzt zu den Problem ich lade die den Pfad zur Datei mit einem JFileChooser. Bekomme den Pfad auch korrekt dann lese ich diese mit dem BufferedReader ein:
Das Funktioniert eigentlich sehr gut, nur das Problem ist es läuft nur ohne Probleme wenn ich die Methode, die den Ladevorgang startet, ohne Buttonklick direkt mit dem Programm starten soll.
Mach ich es allerdings mit einem Buttonklick, so hängt das JavaProgramm und ich bekomme diese lässtige HeapSpace Fehlermeldung...
Noch zur Hilfe:
Wie ich die Aktionen im Button vergeben habe:
Danke für die schnelle Antwort ihr seit Spitze
ich habe folgendes Problem mit meinem Programm.
Erst mal zum Programm selber: Es soll eine Textdatei (etwa 20 mb) groß öffnen und in einer JTextPane anzeigen.
Jetzt zu den Problem ich lade die den Pfad zur Datei mit einem JFileChooser. Bekomme den Pfad auch korrekt dann lese ich diese mit dem BufferedReader ein:
Code:
public void loadFile(String dateiname) { // von chooseFile() gestartet und erhält den dateinamen übergeben
try {
BufferedReader in = new BufferedReader(new FileReader(dateiname));
String tmp = null;
while ( (tmp = in.readLine()) != null ) {
if (stopped) break; // wenn var stopped true ist schleife abbrechen
write(tmp); // schreibt den text in die TextPane
tmp = null;
}
} catch (Exception e) {
error("Fehler Code 001: " + e);
}
}
Das Funktioniert eigentlich sehr gut, nur das Problem ist es läuft nur ohne Probleme wenn ich die Methode, die den Ladevorgang startet, ohne Buttonklick direkt mit dem Programm starten soll.
Mach ich es allerdings mit einem Buttonklick, so hängt das JavaProgramm und ich bekomme diese lässtige HeapSpace Fehlermeldung...
Noch zur Hilfe:
Wie ich die Aktionen im Button vergeben habe:
Code:
data.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent avt) {
stopped = false; // var zum stoppen des vorgangs
write ("/clear"); // Methode zum Löschen und beschreiben der TextPane
chooseFile(); // Methode, die den Filechooser startet und anschließend den lese Vorgang startet
}
});
Danke für die schnelle Antwort ihr seit Spitze