在Java 8中,可以使用正则表达式和流操作来读取文件中两个给定模式之间的文本。下面是一个示例代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FileTextReader {
public static void main(String[] args) {
String filePath = "path/to/your/file.txt";
String startPattern = "start";
String endPattern = "end";
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
StringBuilder sb = new StringBuilder();
String line;
boolean isBetweenPatterns = false;
while ((line = reader.readLine()) != null) {
if (line.contains(startPattern)) {
isBetweenPatterns = true;
}
if (isBetweenPatterns) {
sb.append(line).append("\n");
}
if (line.contains(endPattern)) {
isBetweenPatterns = false;
break;
}
}
String result = sb.toString();
System.out.println(result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码中,需要替换filePath
为你要读取的文件路径,startPattern
为起始模式,endPattern
为结束模式。代码使用BufferedReader
逐行读取文件内容,并通过正则表达式判断是否处于给定模式之间。如果处于给定模式之间,则将文本追加到StringBuilder
中。最后,将StringBuilder
转换为字符串并输出。
这是一个简单的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云