gpt4 book ai didi

java - 使用扫描器返回字符串

转载 作者:行者123 更新时间:2023-12-01 13:40:44 26 4
gpt4 key购买 nike

所以,这个网站是全新的,但看起来很有前途..

无论如何,对于业务来说,我正在处理这段代码,并且我正在尝试使用扫描仪返回一个字符串。我也尝试过使用 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");
}
}
}

我希望我解释得足够好,任何建议都希望能有所帮助

最佳答案

您的分割不正确。

.split("//|");

正斜杠不是转义符。您需要反斜杠

.split("\\|");

使用第一个代码,它将无法正确分割,因此您将得不到匹配项,并且您的方法将始终返回 null,除非您将整行作为字符串传递给方法

关于java - 使用扫描器返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20811399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com