在Java中,你可以使用正则表达式和BufferedReader
来从一个文件中抓取并显示两个字符串(模式)之间的多行。以下是一个简单的示例代码,展示了如何实现这一功能:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FileContentExtractor {
public static void main(String[] args) {
String filePath = "path/to/your/file.txt"; // 替换为你的文件路径
String startPattern = "开始模式"; // 替换为你的开始模式
String endPattern = "结束模式"; // 替换为你的结束模式
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
StringBuilder content = new StringBuilder();
String line;
boolean insideBlock = false;
Pattern startRegex = Pattern.compile(startPattern);
Pattern endRegex = Pattern.compile(endPattern);
while ((line = reader.readLine()) != null) {
Matcher startMatcher = startRegex.matcher(line);
Matcher endMatcher = endRegex.matcher(line);
if (startMatcher.find()) {
insideBlock = true;
}
if (insideBlock) {
content.append(line).append("\n");
}
if (endMatcher.find()) {
insideBlock = false;
break; // 找到结束模式后退出循环
}
}
System.out.println(content.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
BufferedReader
提供了高效的文本读取方式。Pattern.DOTALL
标志来匹配包括换行符在内的所有字符。IOException
,确保文件路径正确。通过上述代码和解释,你应该能够在Java中实现从一个文件中抓取并显示两个字符串(模式)之间的多行。
领取专属 10元无门槛券
手把手带您无忧上云