用户:洞穴夜莺/EInputStream:修订间差异

添加1,473字节 、​ 2020年8月29日 (星期六)
无编辑摘要
(创建页面,内容为“此用户即洞穴夜莺”)
 
无编辑摘要
这个用户就是[[洞穴夜莺]]
{{eee}}
 
<pre>
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);
}
}</pre>
831

个编辑