1 23 package org.archive.io; 24 25 26 import java.io.IOException ; 27 import java.io.Reader ; 28 29 import it.unimi.dsi.fastutil.io.RepositionableStream; 30 31 32 37 public abstract class SeekReader extends Reader 38 implements RepositionableStream { 39 40 41 45 private long mark = -1; 46 47 48 55 @Override 56 public void mark(int limit) { 57 try { 58 this.mark = position(); 59 } catch (IOException e) { 60 mark = -1; 61 } 62 } 63 64 65 70 @Override 71 public void reset() throws IOException { 72 if (mark < 0) { 73 throw new IOException ("No mark."); 74 } 75 position(mark); 76 } 77 78 79 84 @Override 85 public boolean markSupported() { 86 return true; 87 } 88 } 89 | Popular Tags |