我正在开展一个项目,我已经定义了一个搜索我的客户文本文件的搜索功能,提到有一个名为" record"的文本文件,在项目中定义的注册后,将存储哪些新客户详细信息。因此,每当我搜索特定ID时,它运行良好,但问题是我希望输出其他详细信息,如他/她的姓名,性别,年龄。我现在所有的输出是 - > "它的发现" 这是代码:
public void searchfile(String input){
try{
String details, id, line;
int count;
Scanner housenumber = new Scanner(new File("records.txt"));
while(housenumber.hasNext())
{
id = housenumber.next();
line = housenumber.nextLine();
if(input.equals(id))
{
JOptionPane.showMessageDialog(null,"It's Found" );
break;
}
if(!housenumber.hasNext())
JOptionPane.showMessageDialog(null,"Sorry, ID Does Not Exist" );
}
}
catch(IOException e)
{
System.out.print("File failure");
}
};
答案 0 :(得分:1)
在不知道您扫描的文件是如何格式化的情况下,很难回答您的问题。如果格式如下:
id
name gender age
id
name2 gender age
etc.
您可以尝试这样的事情:
id = housenumber.next();
line = housenumber.nextLine();
if(input.equals(id))
{
//This should the next line instead of just "It's found"
JOptionPane.showMessageDialog(null,line);
//Assuming the above file layout, you could then do something like this:
String[] parts = line.split("\\s+"); //Splits on whitespace
System.out.println("name: " + parts[0]);
System.out.println("gender: " + parts[1]);
System.out.println("age: " + parts[2]);
break;
}