FilterInputStream を使用しようとしていますが、機能させることができません。FilterReader をプログラムすると、すべてうまくいきます。
import java.io.*;
class Filter extends FilterReader {
Filter(Reader in) {
super(in);
}
public int read() throws IOException {
return 'A';
}
}
public class TestFilter {
public static void main(String[] args) throws IOException {
Reader in = new Filter(new InputStreamReader(System.in));
System.out.println((char)in.read());
}
}
実行はA
ただし、FiterInputStream を使用すると、実行ブロックの読み取りが次のようになります。
import java.io.*;
class Filter extends FilterInputStream {
Filter(InputStream in) {
super(in);
}
public int read() throws IOException {
return 'A';
}
}
public class TestFilter {
public static void main(String[] args) throws IOException {
Reader in = new InputStreamReader(new Filter(System.in));
System.out.println((char)in.read());
}
}