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