import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
class FileOps1 {
File1 f1;
FileOps1 (File1 f1) {
this.f1 = f1;
}
void readFromFile (String filename, String token) {
try {
FileInputStream fis = new FileInputStream(filename);
BufferedReader is = new BufferedReader(new FileReader(fis.getFD()));
StringTokenizer t = new StringTokenizer(is.readLine(), token);
while (t.hasMoreTokens()) {
f1.text.append (t.nextToken()+"\n");
}
is.close();
}
catch (IOException e) {
f1.messages.setText("File "+filename+" Not Found");
}
}
public void writeToFile(String filename, String token) {
try {
FileOutputStream fos = new FileOutputStream(filename);
FileWriter os = new FileWriter(fos.getFD());
String toFile = f1.text.getText();
StringTokenizer t = new StringTokenizer(toFile, "\n");
while (t.hasMoreTokens()) {
os.write(t.nextToken());
os.write(token);
}
os.close();
}
catch (IOException e) {
f1.messages.setText("Could not write to "+filename);
}
}
}
public class File1 extends Applet implements ActionListener {
JTextArea text;
JTextField filename, messages, delimiter;
JButton read, write;
FileOps1 fo;
public void init () {
setLayout(new BorderLayout());
Panel p = new Panel();
p.setLayout(new GridLayout(2,1));
Panel q = new Panel();
q.setLayout(new BorderLayout());
Panel r = new Panel();
r.setLayout(new GridLayout(2,1));
r.add(filename = new JTextField());
r.add(new JLabel("Filename", JLabel.CENTER));
q.add("Center", r);
r = new Panel();
r.setLayout(new GridLayout(2,1));
r.add(delimiter = new JTextField("|"));
r.add(new JLabel("Delim", JLabel.CENTER));
q.add("East",r);
p.add(q);
q = new Panel();
q.setLayout(new GridLayout(2,1));
q.add(messages = new JTextField());
q.add(new JLabel("Messages", JLabel.CENTER));
p.add(q);
add ("North", p);
add ("Center", new JScrollPane(text = new JTextArea(30,30)));
p = new Panel();
p.setLayout(new GridLayout(1,3));
p.add(read = new JButton("Read"));
p.add(new JLabel());
p.add(write = new JButton("Write"));
add ("South", p);
}
public void start () {
fo = new FileOps1(this);
read.addActionListener(this);
write.addActionListener(this);
}
public void actionPerformed (ActionEvent evt) {
if (evt.getSource() == read)
fo.readFromFile(filename.getText(), delimiter.getText());
else
if (evt.getSource() == write)
fo.writeToFile(filename.getText(), delimiter.getText());
}
}