import java.io.IOException;
import java.io.InputStreamReader;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax .microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
openbare klasse ReaderMIDlet breidt MIDlet implementeert CommandListener {
privé Vorm MainForm;
< p> private Command exitCommand;
/**
* Constructor. .
Bouwt het object en initialiseert displayables
* /
openbare ReaderMIDlet () {
MainForm = new Form ("Voorbeeld MIDlet");
exitCommand = nieuwe Command ("Exit", Command.EXIT, 1);
mainForm.addCommand (exitCommand);
mainForm.setCommandListener (dit);
try {
ReadFile ("text.txt");
} catch (IOException ex) {
//TODO: exception handling
}
< p>}
/**
* Voert het opgegeven bestand op het formulier.
*throws java.io.
IOException als er een uitzondering optreedt bij het lezen van de
* file
* /
private void ReadFile (String filename) gooit IOException {
InputStreamReader lezer = nieuwe InputStreamReader (
getClass ( ) .getResourceAsStream (bestandsnaam));
String lijn = null;
//Lees een regel uit het bestand. null vertegenwoordigt het EOF.
terwijl ((lijn = readLine (lezer))! = null) {
//Voeg de lees- lijn naar de belangrijkste vorm met een nieuwe regel ("\\ n" )
mainForm.append (lijn + "\\ n");
}
reader.
close ();
}
/**
* Leest een enkele lijn met de opgegeven lezer.
*throws java.io.IOException als er een uitzondering optreedt bij het lezen van de
* regel
* /
private String readLine (InputStreamReader reader) gooit IOException {
//Test of het einde van het bestand is bereikt. Als dat zo is, terug null
int readChar = reader.read ();.
als (readChar == -1) {
return null;
}
StringBuffer String = new StringBuffer ("");
//lezen tot het einde van het bestand of de nieuwe regel
while (readChar = -1 && readChar! = "\\ n") {
//Voeg de lees- karakter aan de string. Sommige besturingssystemen
//zoals Microsoft Windows prepend nieuwe regel ("\\ n ') met
//carriage return (' \\ r '). Dit is onderdeel van de nieuwe regel karakter
//en dus een uitzondering die niet moeten worden toegevoegd aan de
//string.
als (readChar! = '\\ R ') {
string.
append ((char) readChar);
}
//Lee