PushBack流的使用

import java.io.FileReader;
import java.io.PushbackInputStream;
import java.io.PushbackReader;

public class PullbackTest {
    public static void main(String[] args) {
        try (PushbackReader pushbackReader = new PushbackReader(new FileReader("src/PullbackTest.java"), 64)) {
            char[] buf = new char[32];
            String lastReadContent = "";
            int hasRead = 0;
            while ((hasRead= pushbackReader.read(buf))>0){
                String content = new String(buf,0,hasRead);
                int targetIndex = 0;
                if ((targetIndex = (lastReadContent+content).indexOf("new PushbackReader"))>0){
                    pushbackReader.unread((lastReadContent+content).toCharArray());
                    if (targetIndex >32){
                        buf = new char[targetIndex];
                    }
                    pushbackReader.read(buf,0,targetIndex);
                    System.out.println(new String(buf, 0, targetIndex));
                    System.exit(0);
                    }
                else {
                    System.out.println(lastReadContent);
                    lastReadContent = content;
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/woshi123/p/12539885.html