Swing jTextPane Text datei anzeigen

edsie2011

Aktives Mitglied
Hallo ich möchten meinen TextPane Fenster eine Text datei zeilenweise Auslesen. Aber alle meine Versuche Scheiterten. Könnte ihtr mir Helfen?

Java:
//Server
public String ReadFile() throws IOException{
	   
           //--------------------------------------------------------------------------------------------------------------------
           //Zeile lesen
	try {
		BufferedReader in = new BufferedReader(new FileReader("//twitter//Namen.txt"));
		String zeile = null;
		String inhalt="";
		while ((zeile = extracted(in).readLine()) != null) {
		     inhalt+=zeile;
		}
		return inhalt;
	} catch (IOException e) {
		} finally {
		     try {
		    	 BufferedReader in = null;
				extracted(in).close();
		     } catch (IOException e) {
		     }
		}
	return null;
}




//Client


private String ReadFile() throws IOException_Exception{
        return twitter.readFile();
    }       

.
.
.

       Client rf = new Client();
        try {
            //rf.ReadFile(this.textArea1.setText(); Auch probiert!!
            
           this.jTextPane1.setText(rf.ReadFile());

        } catch (IOException_Exception ex) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
        }
Sobald ich das Ausführe bleibt das Fenster leer.

Danke
 
Zuletzt bearbeitet:
Was bitte ist Client?
und was tut Client.readFile() ?
Hast Du Dir schon mal das Ergebnis von Client.readFile angeschaut, wer weiss ist das leer...
Äähmm...(ich will jetzt nicht meckern...) Nach der Java-Naming-Convention schreibt man Methodennamen klein...
 
Versuchs mal so:

Java:
public String ReadFile() throws IOException{
       
        String inhalt = null;
           //--------------------------------------------------------------------------------------------------------------------
           //Zeile lesen
    try {
        BufferedReader in = new BufferedReader(new FileReader("//twitter//Namen.txt"));
        String zeile = null;
// was macht extracted?
        while ((zeile = extracted(in).readLine()) != null) {
             inhalt+=zeile;
        }
    } catch (IOException e) {
        } finally {
             try {
                 BufferedReader in = null;
                extracted(in).close();
             } catch (IOException e) {
             }
        }
    return inhalt;
}

Sehe gerade, dass dein Filename nicht stimmen kann, wenn Du auf Windows bist, heisst es "\\", auf Linux/Unix reicht ein "/"...
Gib mal die IOException mindestens auf der Konsole aus, statt sie zu verschlucken..

btw, hast Du das Ergebnis von readFile kontrolliert?
vielleicht mal mit System.out.println(); ausgeben lassen?
nochmal btw, welche IDE verwendest Du? Bei Eclipse wirkt Shift-Control-F Wunder (macht die Quelle schön...)

Die mit readLine gelesenen Zeilen haben keinen Zeilenumbruch am Ende, den müsstest Du hinzufügen.
Wenn es sich um grosse Files handelt, ist es aus Performancegründen angebracht, statt String einen StringBuffer zu nehmen...
 
Zuletzt bearbeitet:
Habe oben nochmal was geändert, bitte lesen...

Java:
StringBuffer buffer = new StringBuffer();
....
// Das hier passiert natürlich innerhalb der Leseschleife pro Zeile!
// falls der Buffer nicht leer ist, dann einen Zeilenumbruch anhängen...
    if (0 != buffer.length()) {
        // für DOS und Windows, "\r\n", für Tunix, "\n"...
        buffer.append( "\r\n" );
    }
    buffer.append( text );
....
// und das nach dem Lesen...
String result = buffer.toString();
 
Zuletzt bearbeitet:
Java:
// Zeilenumbruch für Windows
	private static final String NEWLINE = "\r\n";

	public String ReadFile() {
		BufferedReader in = null;
		StringBuffer inhalt = new StringBuffer();
		// ------------------------------------------
		// Zeile lesen
		try {
			// Dateiname für Windows, prüfen! Ist eine Datei, die's nur bei mir gibt...
			in = new BufferedReader( new FileReader( "\\temp\\target\\test.csv" ) );
			String zeile = null;
			while ((zeile = in.readLine()) != null) {
				if (0 != inhalt.length()) {
					inhalt.append( NEWLINE );
				}
				inhalt.append( zeile );
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (null != in) {
				try {
					in.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		System.out.println( inhalt.toString() );
		return inhalt.toString();
	}
 
Java:
 Client rf = new Client();
        try {
            jTextArea1.setText(rf.ReadFile());
        } catch (IOException_Exception ex) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
        }

konnte ich lesen THX
 

Neue Themen


Zurück
Oben