gpt4 book ai didi

Java在文本中查找字符串不起作用

转载 作者:行者123 更新时间:2023-12-01 07:40:35 25 4
gpt4 key购买 nike

这是一个示例 .txt 文件:

item1
item2
myString
item3
item4

我创建了一个类来查找 .txt 文件中的字符串:

public static String lineToFind;
public static boolean lineFound;
public static void findLine() throws IOException{
try {
lineFound=true;
fstream = new FileInputStream("C:/Users/Franky/Documents/NetBeansProjects/JavaApplication5/src/Punteggi/squadre");
in = new DataInputStream(fstream);
br = new BufferedReader(new InputStreamReader(in));
lineToFind = "myString";
String strline;
while(br.readLine()!=null)
if(br.readLine()!=lineToFind){
lineaFound=false;
}
} catch (FileNotFoundException ex) {
Logger.getLogger(LeggiDaFile.class.getName()).log(Level.SEVERE, null, ex);
}
}

这个类在另一个类中使用,如果lineaFound=false;

private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                     
// TODO add your handling code here:
findLine();
if(lineFound=true){
callFunction1();
}
if(lineFound=false){
callFunction2();
}
}

现在的问题是,即使文件中不包含“myString”,callFunction2() 也永远不会被调用。很容易,“false”条件永远不会发生,即使它必须发生!谢谢

最佳答案

lineFound=false 是一项作业,而不是测试。

尝试

if (!lineFound)

if (lineFound == false)

而不是

if (lineFound=false)

if (lineFound=true) 类似

另外,请注意auto-unboxing在 Java 中,当将 ==!= 与 boolean 值一起使用时。

Boolean b = possiblyNullOrABoolean();
if (b == false) {
...
}

b 的类型为 Boolean 时,使用 == 进行的测试与 if (!b) 的含义有很大不同 而不是 boolean

关于Java在文本中查找字符串不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5462849/

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