一个eclipse读取文件的问题~我自学的,不会啊。。。谢谢您了^_^_百度...
发布网友
发布时间:2024-03-20 01:39
我来回答
共2个回答
热心网友
时间:2024-03-20 04:52
你的代码问题多多,给你简单的改了一下,可以 运行起来。
e.getActionCommand()=="出题" 这个地方不要这么判断,字符串的值是否相等 用equals方法来判断。
这个地方少了一个catch块,给你加上了。
读取文件内容可以用
while (br.ready()) { 这样的循环,逐行来读,得到你想要的那一行,可以用
String[] array = line.split("谜底:");来分割字符串,后面的那部分就是谜底。
------------------------------------------------------------------------------------------------
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class MyRiddle implements ActionListener {
// public class MyRiddle extends JFrame{
JFrame mainFrm;
JLabel l1, l2, l3, l4;
JButton b1, b2, b3;
TextField yourAns, riddleQus, riddleAns;
String temp;
FileReader fin;
MyRiddle() {
}
void go() {
mainFrm = new JFrame();
mainFrm.setTitle("猜谜程序");
JPanel p = new JPanel();
// setTitle("猜谜程序");
l1 = new JLabel("谜面:");
l2 = new JLabel("请输入你的答案:");
l3 = new JLabel("正确答案:");
riddleQus = new TextField(10);
riddleAns = new TextField(10);
yourAns = new TextField(10);
b1 = new JButton("出题");
b1.addActionListener(this);
b2 = new JButton("确定");
b2.addMouseListener((MouseListener) this);
b3 = new JButton("获取答案");
b3.addMouseListener((MouseListener) this);
// setLayout(new FlowLayout());
p.add(l1);
p.add(riddleQus);
p.add(b1);
p.add(l2);
p.add(yourAns);
p.add(b2);
p.add(l3);
p.add(riddleAns);
p.add(b3);
mainFrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrm.getContentPane().add(p);
mainFrm.setSize(500, 200);
mainFrm.setVisible(true);
// pack();
// show();
}
// class lsn implements ActionListener{
public void actionPerformed(ActionEvent e) {
// temp=yourAns.getText();
if ("获取答案".equals(e.getActionCommand())) {
BufferedReader br = null;
try {
fin = new FileReader("D:/1.txt");
br = new BufferedReader(fin);
while (br.ready()) {
String line = br.readLine();
String[] array = line.split("谜底:");
riddleAns.setText(array[1]);
}
}// try
catch (Exception ex) {
} finally {
try {
fin.close();
br.close();
} catch (Exception ex) {
}
}
}// if
}
public static void main(String[] args) {
MyRiddle test = new MyRiddle();
test.go();
}
}
热心网友
时间:2024-03-20 04:55
谷歌知道