在 Java 中,我正在尝试为抽象Reader类编写一个子类。我正在尝试实现 Reader 的 close() 方法。我打算编写的子类 Reader2 会将原始 Reader 的输入(通过调用 ReaderObj.read() 获得)转换为其他内容,以便在 Reader2 对象上调用 read() 将输出转换后的字符。
例如,这会将所有小写的“a”、“b”和“c”字符翻译成它们对应的大写字母,其余的保持不变:
Reader in = new InputStreamReader (System.in);
Reader2 translated = new Reader2(in, "abc", "ABC");
while (true) {
int x = translated.read;
if (x == -1) {
break;
}
System.out.print((char x));
}
我已经实现了read(),但是我不知道如何实现close()。
根据文档,close() 方法应该关闭流并抛出 IOException。但我不知道如何关闭流或抛出 IOException。我将如何重写close()?