所以,这个网站是全新的,但看起来很有希望..
无论如何,对于商业,我正在研究这段代码,我正在尝试使用扫描仪返回一个字符串。我也尝试过使用BufferedReader,但它仍然返回null。
public String scanFile(String lineStarter) throws IOException {
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
String[] lineInfo = sc.nextLine().toString().split("//|");
if(lineStarter.equalsIgnoreCase(lineInfo[0])){
return sc.toString();
}
}
//this is what keeps on returning
return null;
}
文本文件格式如下:
starwars|cool|Actor|general|google|low
starw|cool|Actor|general|google|low
hark|dude|this|I|don't|know
所以,它继续返回我不想返回的最后一行......
我想,如果你真的想要它,我会在打开一个新文件时调用该方法,我猜
private void doubleClicked(java.awt.event.MouseEvent evt) {
if(evt.getClickCount()==2){
try {
String s = (String) jList1.getSelectedValue();
System.out.println(s);
new DisplayMovie(scanFile(s)).setVisible(true);
} catch (IOException ex) {
System.out.println("An Error has occured");
}
}
}
我希望我能很好地解释它,任何建议都有希望帮助
答案 0 :(得分:1)
您的拆分不正确。
.split("//|");
正斜杠不是逃避。你需要反斜杠
.split("\\|");
使用第一个代码,它将无法正确分割,因此您将不会获得匹配,并且除非将整行作为字符串传递给方法,否则您的方法将始终返回null