Java利用PushbackReader实现返回对文本中的指定字符串之前的内容
import java.io.FileReader; import java.io.PushbackReader; public class PushbackTest { public static void main(String[] args) { try(PushbackReader pr = new PushbackReader(new FileReader("src/com/ming/test/PushbackTest.java"),64)){ char [] buf = new char[32]; String lastContent = ""; int hasRead = 0; while((hasRead = pr.read(buf)) > 0){ String content = new String(buf,0,hasRead); int targetIndex = 0; if((targetIndex = (lastContent + content).indexOf("new PushbackReader")) > 0){ pr.unread((lastContent + content).toCharArray()); char tmp[] = new char[targetIndex]; pr.read(tmp,0,targetIndex); System.out.print(new String(tmp,0,targetIndex)); System.exit(0); }else{ System.out.print(lastContent); lastContent = content; } } }catch (Exception e){ e.printStackTrace(); } } }
输出 package com.ming.test; import java.io.FileReader; import java.io.PushbackReader; public class PushbackTest { public static void main(String[] args) { try(PushbackReader pr =