Scala Datei einlesen

laury

Neues Mitglied
Hallo!
Ich bin hier ganz neu und hoffe, dass ich hier bei meinen Recherchen nicht irgendetwas überlesen habe...
Ich hoffe ihr könnt mir mit meinem Problem helfen:

Ich habe einen Button, wenn man auf diesen klickt, öffnet sich ein neues Frame - alles schön und gut, doch in diesem Frame möchte ich jetzt Inhalte einer .txt-Datei anzeigen lassen.

Ich bin ein ziemlicher Neuling... und es ist bestimmt eine äußerst simple Frage.
Aber ich hänge daran jetzt schon einen Tag...

Ich weiß schon soviel, dass ich die Datei in einen String lesen (mit FileReader?) muss und dann innerhalb meines Frames wieder ausgeben kann. Ist das richtig so?

Ich danke euch riesig für eure Hilfe!

eine verzweifelte Programmiererin
 

Matthias K.

Mitglied
Hi laury,
mit diesem Code kann man eine beliebige Datei komplett auslesen:


Java:
        File f = new File(dateiName+".txt");
	if(f.exists() == true)
        {				
		BufferedReader in = new BufferedReader(new FileReader(dateiName+".txt"));
		String s = "";
	        while((s = in.readLine()) != null)
	        {
	            document = document + s;
	        }
	        in.close();       
		}
	else
	{
		try {
			f.createNewFile();
		} catch (IOException e) {e.printStackTrace();}
	}

Die Datei wird ausgelesen und im String document zwischengespeichert.
Jedoch werden hier Absätze ignoriert. Die Zeilen werden einfach aneinander angehängt.
Möchtest du dies ändern, nutze:
Java:
document = document + s + "\n";

Aber das Einlesen dauert eigentlich zu lange, wenn es viele Absätze gibt.
Daher würde ich die empfehlen, ein spezielles Zeichen/Befehl beim Schreiben einer Datei zu nutzen.
Eine Datei schreibt man mit:
Java:
                String dateiName = dateiName+".txt";
		FileOutputStream schreibeStrom = null;
		try {
			schreibeStrom = new FileOutputStream(dateiName);
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		}
	    for (int i=0; i < document.length(); i++){
	      try {
			schreibeStrom.write((byte) document.charAt(i));
		} catch (IOException e1) {
			e1.printStackTrace();
		}
	    }
	    try {
			schreibeStrom.close();
		} catch (IOException e1) {
			e1.printStackTrace();		
		}
Der String, der in die Datei geschrieben wird, ist hier der String document.

Gruß,
Matthias
 
S

SlaterB

Gast
war auch mehr eine Kombination aus Scherz + moderatorischer Hinweis an Matthias K.

bei 1-Posting-Usern ist die Chance ja recht hoch dass niemand zurückkommt, es nie geklärt wird
(darf gerne doch Rückkehr widerlegt werden ;) )
 

laury

Neues Mitglied
also zunächst einmal vielen dank für die hilfe und die ironie ;-)
ich bin wirklich ZIEMLICHER neuling...
deswegen entschuldigt meine unwissenheit, ich bemühe mich zu bessern :)
 

Ähnliche Java Themen

Neue Themen


Oben