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