日期:2014-05-18  浏览次数:20699 次

随机存取文件问题!! 帮忙看下
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class RandomAccessFileTest
{
public static void main(String [] args)
{
RandomA ra = new RandomA("单词录入与查询");
}
}
class RandomA extends JFrame implements ActionListener
{
File file = new File("英语单词.txt");
JPanel jp1 = new JPanel();
JPanel jp2 = new JPanel();
JButton jb1 = new JButton("录入");
JButton jb2 = new JButton("显示");
JTextArea jta = new JTextArea(10,30);
JTextField jtd1 = new JTextField(8);
JTextField jtd2 = new JTextField(8);
JLabel jl1 = new JLabel("输入单词");
JLabel jl2 = new JLabel("单词解释");
RandomA(String s)
{
super(s);
setLayout(new BorderLayout());
add(jp1,"North");
jp1.add(jl1);
jp1.add(jtd1);
jp1.add(jl2);
jp1.add(jtd2);
jp1.add(jb1);
//add(jp1);
add(jp2,"Center");
jp2.add(jb2);
jp2.add(jta);
//add(jp2);
setSize(400,350);
setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
jb1.addActionListener(this);
jb2.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == jb1)
{
Write();
}
if (e.getSource() == jb2)
{
Xian();
}
}
public void Write()
{
try
{
RandomAccessFile raf1 = new RandomAccessFile(file,"rw");
if (file.exists())
{
long l = file.length();
raf1.seek(l);
}
raf1.writeUTF("单词:"+jtd1.getText());
raf1.writeUTF("解释:"+jtd2.getText());
raf1.close();
}
catch (IOException e)
{
System.out.println(e);
}
}
public void Xian()
{
int num = 1;
try
{
RandomAccessFile raf2 = new RandomAccessFile(file,"r");
String s = null;
while((s = raf2.readUTF())!=null)
{
jta.append("\n"+num+" "+s);
jta.append("  "+raf2.readUTF());
jta.append("\n___________________"); 
num++;
}
raf2.close();
}
catch (IOException e)
{
System.out.println(e);