gpt4 book ai didi

java - 扩展阅读器类 : How to write close()?

转载 作者:行者123 更新时间:2023-11-30 07:13:50 25 4
gpt4 key购买 nike

在 Java 中,我正在尝试为抽象 Reader 编写一个子类类(class)。我正在尝试实现 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()?

最佳答案

Reader in = new InputStreamReader (System.in);
Reader2 translated = new Reader2(in, "abc", "ABC");

您创建一个输入流阅读器并将其传递给翻译后的阅读器。要关闭您的 Reader2 实例,您只需调用您通过构造函数 new Reader2(in, "abc", "ABC"); 传递给 Reader2 实例的 in Reader 的 close() 方法。

public void close() { in.close(); }

关于java - 扩展阅读器类 : How to write close()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19072663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com