关于BufferedReader如何工作的非常基本的问题。给定字符串/短语,我想从其中包含很多文本的文件中查找并打印它。
我在Java中使用BufferedReader对此主题进行了一些研究,这是最接近的结果。虽然不能完全解决我的问题。
因此,有了这些信息,为什么以下代码会终止?
public class MainApp {
String line = null;
String phrase = "eye";
try {
File file = new File("text.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while((line = br.readLine()) != null) {
if (line.equals(phrase) {
System.out.println(line);
}
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我对这个区块应如何运作的了解:
为什么我认为它可能 不会 工作:
readlines不会作为字符串存储在BufferedReader中(因此无法进行比较)
错误的逻辑(很可能是if语句)
为了简单起见,让我们假设“ text.txt”充满了非常长的传说ipsum,并且在其中间的某个地方加上了一个“ eye”字。
问题到底在哪里?(如果可能的话,请不要提供完整的代码解决方案,为了练习,我很乐意亲自完成编码工作)。
class Perkusja {
boolean talerze = true;
boolean beben = true;
void zagrajNaBebnie() {
System.out.println("bam, bam, baaaa-am-am");
}
void zagrajNaTalerzach() {
System.out.println("brzd?k, brzbrzrzd??k");
}
class PerkusjaTester {
public static void main(String[] args) {
Perkusja p = new Perkusja();
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
你好!我是stackoverflow的新手,所以请原谅我糟糕的编辑.
我是Java的新手,我无法弄清问题到底在哪里以及问题是什么.我在行上收到以下错误
public static void main(String[]args):
方法main不能声明为static; 静态方法只能在静态或顶级类型中声明
我正在使用eclipse,我正在做一些简单的java练习.我搜索了问题,但答案通常与更复杂的代码相关.
我如何解决它以及导致以下错误的原因是什么?我很感激对这个特殊例子的解释.
干杯!