打印目标字符串前面的内容

来源:互联网 发布:以太网是什么网络 编辑:程序博客网 时间:2024/05/29 17:01

使用推回输入流可以很方便的实现打印目标字符串前面内容的功能。
代码如下:

package lee;//import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.PushbackReader;public class FileBackTest {    @SuppressWarnings("resource")    public static void main(String[] args) throws IOException    {        PushbackReader pr = new PushbackReader(new FileReader("D:\\SogouExplorer\\hi.txt"),64);//指定推回缓冲区大小        int hasRead = 0;        char[] buf = new char[1024];        String contentOld = new String();        while ((hasRead = pr.read(buf)) > 0)        {            String content = new String(buf,0,hasRead);            int targetIndex = 0;            if( (targetIndex = (content+contentOld).indexOf("2")) > 0)            {                pr.unread((content+contentOld).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(contentOld);                contentOld = content;            }        }    }}

D:\SogouExplorer\hi.txt的内容是:123456789
运行结果是:1

原创粉丝点击