我把文本输入框输入的内容存到一个txt文件中,但当我继续从文本输入框输入内容并按确定时,该如何判断我输入的内容在txt文件中已经存在?即当我输入一个学号后,如何判断输入的学号已经存在?
package bigwork;
import java.awt.*;
import java.awt.event.*;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.*;
public class AddInfo extends JFrame implements ActionListener {
JButton jb1,jb2=null;
JTextField jtf1,jtf2,jtf3,jtf4=null;
JLabel jl1,jl2,jl3,jl4,jl5=null;
JPanel jp1,jp2,jp3,jp4,jp5,jp6=null;
private String name ,num,cla,tel;
private static AddInfo[] s=new AddInfo[100];
private int n=0;
public static void main(String[] args) {
AddInfo AI=new AddInfo();
AddInfo[] s=new AddInfo[100];
}
public AddInfo() {
//初始化界面
JPanel jp1=new JPanel();
JLabel jl1=new JLabel("****学生信息录入****",SwingConstants.CENTER);
jl1.setFont(new Font("****学生信息录入****",Font.PLAIN,35));
jp1.add(jl1);
JPanel jp2=new JPanel();
JLabel jl2=new JLabel("姓名:", SwingConstants.CENTER);// 文字居中
jl2.setFont(new Font("姓名",Font.PLAIN,20));
jtf1 = new JTextField(10);
jp2.add(jl2);
jp2.add(jtf1);
JPanel jp3=new JPanel();
JLabel jl3=new JLabel("学号:", SwingConstants.CENTER);// 文字居中
jl3.setFont(new Font("学号",Font.PLAIN,20));
jtf2 = new JTextField(10);
jp3.add(jl3);
jp3.add(jtf2);
JPanel jp4=new JPanel();
JLabel jl4=new JLabel("班级:", SwingConstants.CENTER);// 文字居中
jl4.setFont(new Font("班级",Font.PLAIN,20));
jtf3 = new JTextField(10);
jp4.add(jl4);
jp4.add(jtf3);
JPanel jp5=new JPanel();
JLabel jl5=new JLabel("电话:", SwingConstants.CENTER);// 文字居中
jl5.setFont(new Font("电话",Font.PLAIN,20));
jtf4 = new JTextField(10);
jp5.add(jl5);
jp5.add(jtf4);
JPanel jp6=new JPanel();
JButton jb1=new JButton("确定");
JButton jb2=new JButton("返回");
jp6.add(jb1);
jp6.add(jb2);
jb1.addActionListener(this);
jb2.addActionListener(this);
setLayout(new GridLayout(6,1,20,20));
add(jp1);
add(jp2);
add(jp3);
add(jp4);
add(jp5);
add(jp6);
this.setSize(500, 400);// 大小
setLocationRelativeTo(null);// 居中
this.setResizable(true);// 不可缩放
this.setTitle("学生信息录入系统");// 标题名
this.setDefaultCloseOperation(EXIT_ON_CLOSE);// 退出就关闭界面
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
if(e.getActionCommand()=="返回") {
Mainmenu.main(null);
dispose();
} else {
if(!jtf1.getText().isEmpty()&&!jtf2.getText().isEmpty()&&!jtf3.getText().isEmpty()&&!jtf4.getText().isEmpty()) {
try {
this.addinfo();
n++;
} catch (IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
JOptionPane.showMessageDialog(null , "学生信息录入成功","提示消息",JOptionPane.WARNING_MESSAGE);
}else if(jtf1.getText().isEmpty()||jtf2.getText().isEmpty()||jtf3.getText().isEmpty()||jtf4.getText().isEmpty()) {
JOptionPane.showMessageDialog(null , "请输入完整学生信息!","提示消息",JOptionPane.WARNING_MESSAGE);
}
}
}
private void addinfo() throws IOException {
// TODO 自动生成的方法存根
for(int i=0;i<=n;i++) {
s[n].name=jtf1.getText(); //姓名
s[n].num=jtf2.getText(); //学号
s[n].cla=jtf3.getText(); //班级
s[n].tel=jtf4.getText(); //电话
}
for(int i=0;i<n;i++) {
while(s[i].num==jtf2.getText()) {
JOptionPane.showMessageDialog(null , "已存在此学号,请重新输入!","提示消息",JOptionPane.WARNING_MESSAGE);
}
}
FileWriter fw = new FileWriter("D:\\JAVA\\PROJECT\\newstudent.txt",true);
fw.write(s[n].num+" "+s[n].name+" "+s[n].cla+" "+s[n].tel+"\r\n\r\n");
fw.close();
}
}