Java读取文本文件并搜索一行
我有以下代码,它读取文件并搜索以主题开头的行,然后打印出该行。但我只想阅读包含“主题”的第一行,但目前它获取了所有以“主题”开头的行。我如何配置它以搜索第一个“主题”并打印这一行Java读取文本文件并搜索一行,java,file,Java,File,我有以下代码,它读取文件并搜索以主题开头的行,然后打印出该行。但我只想阅读包含“主题”的第一行,但目前它获取了所有以“主题”开头的行。我如何配置它以搜索第一个“主题”并打印这一行 br = new BufferedReader(new FileReader("FilePath")); StringBuilder sb = new StringBuilder(); String line = "";
br = new BufferedReader(new FileReader("FilePath"));
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = br.readLine()) != null) {
if (line.startsWith("Subject ")) {
System.out.println(line);
}
}
利用休息;声明
br = new BufferedReader(new FileReader("FilePath"));
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = br.readLine()) != null) {
if (line.startsWith("Subject ")) {
System.out.println(line);
break;
}
}
您应该尝试使用正则表达式来查找所需的 i、 e.在您的案例中类似于
“Subject*\n”
。
查看这个关于Regex的非常好的教程:www.vogella.com/tutorials/JavaRegularExpressions/article.html您并没有停止循环,所以它将一直运行到最后一行 试试这个
if (line.startsWith("Subject ")) {
System.out.println(line);
break; // break the lop on success match
}
使用ArrayList,您可以保存以“Subject”开头的每一行,并可以遍历所有行。您可以根据需要使用它
ArrayList<String> list = new ArrayList<String>();
br = new BufferedReader(new FileReader("FilePath"));
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = br.readLine()) != null) {
if (line.startsWith("Subject ")) {
list.add(line);
}
}
System.out.println(list.get(0);
ArrayList list=new ArrayList();
br=新的BufferedReader(新的文件读取器(“文件路径”));
StringBuilder sb=新的StringBuilder();
字符串行=”;
而((line=br.readLine())!=null){
if(第行开始,以“主题”)){
列表。添加(行);
}
}
System.out.println(list.get(0);
我不认为我需要存储它们并获取第一行