好的,我已经在文本文件中输入了一些记录,我可以写入和读取此文件,但我现在正在尝试搜索此文本文件并遇到问题。
package assignmentnew;
// Import io so we can use file objects
import java.io.*;
import java.util.Scanner;
public class SearchProp {
public void Search() throws FileNotFoundException {
try {
String details, input, id, line;
int count;
Scanner user = new Scanner(System.in);
System.out.println();
System.out.println();
System.out.println("Please enter your housenumber: ");
input = user.next();
Scanner housenumber = new Scanner(new File("writeto.txt"));
while (housenumber.hasNext())
{
id = housenumber.next();
line = housenumber.nextLine();
if (input.equals(id))
{
System.out.println("House number is: " + id + "and" + line);
break;
}
if(!housenumber.hasNext()) {
System.out.println("no house with this number");
}
}
}
catch(IOException e)
{
System.out.print("File failure");
}
}
}
无论我输入什么价值,我都被告知文件中没有门牌号码,但显然是,有什么想法吗?
附录:
文本文件中的文件结构。
27,Abbey View,Hexham,NE46 1EQ,4,150000,Terraced
34,Peth Head,Hexham,NE46 1DB,3,146000,Semi Detached
10,Downing Street,London,sw19,9,1000000,Terraced
答案 0 :(得分:6)
扫描程序的默认分隔符是空格,而不是,
。
答案 1 :(得分:2)
您必须使用housenumber.useDelimiter(",");
,代码才有效。
修改强> 在它之前设置它。 这就是我得到的例子27。
Please enter your housenumber:
27
House number is: 27 and ,Abbey View,Hexham,NE46 1EQ,4,150000,Terraced