利用PushbackReader读取文件中某个字符串之前的内容

时间:2023-03-09 02:17:04
利用PushbackReader读取文件中某个字符串之前的内容
package File;

import java.io.FileReader;
import java.io.IOException;
import java.io.PushbackReader; /*读取文件中某个字符串之前的文件*/
//PushbackInputStream,PushbackReader应用 public class PushbackTest {
public static void main(String[] args) {
try(PushbackReader pr = new PushbackReader(new FileReader(
"./src/File/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()); if(targetIndex>32)
{
buf = new char[targetIndex];
}
pr.read(buf,0,targetIndex);
System.out.println(new String(buf,0,targetIndex));
System.exit(0);
}
else
{
System.out.println(lastContent);
lastContent = content;
}
}
}catch(IOException ioe)
{
ioe.printStackTrace();
}
}
}