i want to grab and show multi-lined string from a file (has more than 20,000 lines of text in it) between two desired string(pattern) using java
ex: file.txt(has more than 20,000 lines of text) pattern1 string that i want to grab pattern2
i want to grab and show text in between these two patterns(pattern1 and pattern2) which is in this case “string /n that i /n want /n to grab” how can i do that i tried Bufferreader ,file ,string and few more things but nothing worked
sorry im a noob
Advertisement
Answer
Is your pattern on several lines ?
One easy solution would be to store the content of you’r file and then check for you’r pattern with a regular expression :
try { BufferedReader reader = new BufferedReader(new FileReader(new File("test.txt"))); final StringBuilder contents = new StringBuilder(); while(reader.ready()) { // read the file content contents.append(reader.readLine()); } reader.close(); Pattern p = Pattern.compile("PATTERN1(.+)PATTERN2"); // prepare your regex Matcher m = p.matcher(contents.toString()); while(m.find()){ // for each String b = m.group(1); System.out.println(b); } } catch(Exception e) { e.printStackTrace(); }