-2

我想检测身份证号码并显示详细信息。mt .txt 文件在这里:

当我使用扫描仪类获取 ID 号,并使用控制台窗口显示详细信息时,一切都很好而且很完美。但是当我使用 jtextfield 获取 id 并使用 jlable 显示详细信息时,程序只查找文件中的最后一条记录,而没有找到其他记录。

我的代码在这里:

    int idS=Integer.parsInt(JTextfield1.getText());
    File f=new File("C:\\SearchFile.txt");
    FileReader fr=new FileReader(f);
    BufferedReader br=new BufferedReader(fr);
    String s;

    while((s=br.readLine())!=null){
        String[] st=s.split(" ");
        String id=st[0];
        String name=st[1];
        String mark=st[2];

        if(id.equals(String.valueOf(idS))){

            JLable1.setText(id+" "+name+ " "+mark);
        }
    }

请帮忙!

4

1 回答 1

2

也许您在从 File 读取的字符串周围有一些空格。通过假设 ID 不区分大小写来尝试 equalIgnoreCase()。

   id.trim().equalIgnorecase(String.valueOf(idS));

希望这会有所帮助。

于 2012-12-24T07:32:19.323 回答