G
gmx777
Gast
Hallo,
ich habe als Aufgabe bekommen einen Editor zu erstellen, welcher Woerterliste in einer Datei speichert und einliesst. Und es soll in dieser Datei auch die Anzahl der vorhandener Woerter gespeichert werden. Fuer den Zugriff auf die Datei soll die Klasse RandomAcessFile verwendet werden.
Den Editor welcher Wortliste in einer Datei speichert und einliesst, habe ich bereits geschrieben, aber wie man dort die Anzahl der aktuellen Woerter in dieser Woerterliste ermittelt und diese dort speichert gelingt mir nicht. Hier mein Quelltext:
Kann mir jemand weiterhelfen ???
ich habe als Aufgabe bekommen einen Editor zu erstellen, welcher Woerterliste in einer Datei speichert und einliesst. Und es soll in dieser Datei auch die Anzahl der vorhandener Woerter gespeichert werden. Fuer den Zugriff auf die Datei soll die Klasse RandomAcessFile verwendet werden.
Den Editor welcher Wortliste in einer Datei speichert und einliesst, habe ich bereits geschrieben, aber wie man dort die Anzahl der aktuellen Woerter in dieser Woerterliste ermittelt und diese dort speichert gelingt mir nicht. Hier mein Quelltext:
Java:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.RandomAccessFile;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Text1 extends JFrame {
private static final long serialVersionUID = 6468516705291496250L;
private JTextArea feld;
private JButton einlesen, beenden, speichern;
class MeinListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("lesen"))
dateiLesen();
if (e.getActionCommand().equals("speichern"))
dateiSchreiben();
if (e.getActionCommand().equals("ende"))
System.exit(0);
}
}
//der Konstruktor
public Text1(String titel) {
super(titel);
JPanel tempPanel;
feld = new JTextArea();
einlesen = new JButton("Einlesen");
einlesen.setActionCommand("lesen");
speichern = new JButton("Speichern");
speichern.setActionCommand("speichern");
beenden = new JButton("Beenden");
beenden.setActionCommand("ende");
MeinListener listener = new MeinListener();
einlesen.addActionListener(listener);
speichern.addActionListener(listener);
beenden.addActionListener(listener);
setLayout(new BorderLayout());
add(new JScrollPane(feld), BorderLayout.CENTER);
tempPanel = new JPanel();
tempPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
tempPanel.add(einlesen);
tempPanel.add(speichern);
tempPanel.add(beenden);
add(tempPanel,BorderLayout.SOUTH);
setMinimumSize(new Dimension(400,300));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
//die Methode zum Lesen
private void dateiLesen() {
String text;
try {
RandomAccessFile datei = new RandomAccessFile("score.dat", "r");
text=datei.readUTF();
System.out.println(text);
feld.setText(text);
datei.close();
}
catch (IOException e ) {
JOptionPane.showMessageDialog(this, "Problem aufgetreten");
}
}
private void dateiSchreiben() {
try {
RandomAccessFile datei = new RandomAccessFile("score.dat", "rw");
datei.writeUTF(feld.getText());
System.out.println(feld.getText());
datei.close();
}
catch (IOException e ) {
JOptionPane.showMessageDialog(this, "Problem aufgetreten");
}
}
}
Kann mir jemand weiterhelfen ???