Applets lesen Dateien |
|
Ein Applet kann eine Dateien lesen, wenn es deren URL zur Verfügung hat. In den folgenden Programmen stellt jeweils eine Anweisung der folgenden Form diese URL zur Verfügung:
URL u = new URL( getDocumentBase(), Dateiname );
Applets können .gif oder .jpg-Bilddateien anzeigen.
package urlPackage;
import java.applet.*;
import java.net.*;
import java.awt.*;
public class Bild extends Applet
{
Image bild;
URL u;
String beschriftung;
String bildDateiName;
String copyRightHinweis;
public void init()
{
bildDateiName = getParameter( "Bild" );
copyRightHinweis = getParameter( "CopyRight" );
try
{
u = new URL( getDocumentBase(), bildDateiName );
bild = getImage( u );
}
catch( MalformedURLException x )
{
}
beschriftung = new String( "Man sieht "+u.toString());
repaint();
}
public void paint(Graphics graf)
{
graf.drawImage( bild, 0, 0, this );
setBackground( Color.yellow );
graf.drawString( beschriftung, 0, 381 );
graf.drawString( copyRightHinweis, 190, 395 );
}
}
Übung:
Man teste das Bild-Applet mit unterschiedlichen Bilddateien, Übergabe des Dateinamens mittels Parameter. Man teste, was passiert, wenn die Datei nicht vorhanden ist.
Dieses gelbe Applet spielt eine Klangdatei und zeigt einige Infos zur btr. Datei:
package urlPackage;
import java.applet.*;
import java.net.*;
import java.awt.*;
public class Klang extends Applet
{
URL u ;
String str1, str2, str3;
String soundDateiName;
String copyRightHinweis;
public void init()
{
soundDateiName = getParameter( "Songtitel" );
copyRightHinweis = getParameter( "CopyRight" );
try
{
u=new URL( getDocumentBase(), soundDateiName );
}
catch(MalformedURLException x){}
play( u );
str1 = new String( "es erklingt " + u.toString());
str2 = new String( "CODEABASE: " + getCodeBase());
str3 = new String( "DOCUMENTBASE: " + getDocumentBase());
}
public void paint( Graphics graf )
{
setBackground( Color.yellow );
graf.setColor( Color.black );
graf.drawString( str1, 0,21 );
graf.drawString( str2, 0,41 );
graf.drawString( str3, 0,61 );
graf.drawString( copyRightHinweis, 0, 95 );
}
}
Applets spielen ausschliesslich
Übung:
Wie vorige.
Das Lesen von Daten aus einer Textdatei erfordert das Zusammenwirken mehrerer Reader-Objekte:

openStream(), welche ein InputStream-Objekt erzeugtInputStream erzeugt ein InputStreamReader-Objekt einen Stream von CharactersBufferedReader zugeführt, aus dem mittels der Methode readLine() einzelne Zeilen aus der Datei in der URL ausgelesen werden.
Die ausgelesenen Zeilen werden in einer while-Schleife aufgesammelt und der ausgelesene Text wird dann an eine TextArea übergeben und im Applet angezeigt:
Übung:
Im Handbuch das package java.io ansehen!
Weitere Info zum Thema Streams siehe Java-Doku