我在 Java 中有一种情况,我有一个返回 InputStream 的方法,我想这样做,以便每当有人在该 InputStream 上调用 close 函数时,代码中的其他地方都会得到通知(如回调)。
但是,我返回的实际 InputStream 是由库调用返回的 InputStream 的子类,因此我无法直接控制它。
我目前的解决方案是创建一个 InputStream 的子类,它有一个 InputStream 成员变量,该变量由构造函数中的库调用实例化,我只是覆盖 InputStream 的方法并让它们使用变量的方法,此外还有close() 函数做了一些额外的事情。
这可行,但我想减少必须创建一个全新类的开销,覆盖所有必要的方法,以便在调用 close() 时可以执行单个事件。