用户:洞穴夜莺/EInputStream
这个用户就是洞穴夜莺
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;
/** * You can read nothing but infinite 'e' from an EInputStream * Example: * new EInputStream().transferTo(stdout); * @author CaveNightingale */ public class EInputStream extends InputStream { private static final byte[] BUFFER = new byte[8192]; static { for(int i = 0; i < BUFFER.length; i++) BUFFER[i] = (byte)'e'; }
@Override public int read() { return 'e'; }
@Override public int read(byte[] b) { for(int i = 0; i < b.length; i++) b[i] = (byte)'e'; return b.length; }
@Override public byte[] readAllBytes() { throw new OutOfMemoryError("Endless"); }
@Override public int read(byte[] b, int off, int len) { for(int i = off; i < len + off; i++) b[i] = (byte)'e'; return len; }
@Override public byte[] readNBytes(int len) { byte[] rval = new byte[len]; read(rval); return rval; }
@Override public int readNBytes(byte[] b, int off, int len) { return read(b, off, len); }
@Override public long skip(long n) { return n; }
@Override public long transferTo(OutputStream out) throws IOException { while(true) out.write(BUFFER); }
}