jjzjj

AutoClosable

全部标签

java - 如何制作一个使用 AutoCloseable 并支持 Java 6 的库

我正在为Java开发人员制作一个库。我想制作一个实现AutoCloseable接口(interface)的类,以防开发人员使用Java7。但我还需要为面向Android(不支持AutoCloseable)的开发人员提供不带AutoCloseable接口(interface)的类版本。在这两种情况下,我的类(class)名称必须相同。一个解决方案是预处理器,但我的目标是开发人员,不能指望他们采用任何非标准的预处理器。那么,根据Java版本支持同一类的两个版本的最佳实践是什么?谢谢!--更新澄清:两个版本的完整源代码的唯一区别是“implementsAutoCloseable”这两个词:公

java - 为什么java.lang.AutoCloseable 的close 方法抛出Exception,而java.io.Closeable 的close 方法抛出IOException?

我正在读这个link对于try-with-resources它说:TheclosemethodoftheCloseableinterfacethrowsexceptionsoftypeIOExceptionwhiletheclosemethodoftheAutoCloseableinterfacethrowsexceptionsoftypeException.但是为什么?AutoCloseable的关闭方法也可能抛出IOException是否有任何示例支持AutoCloseable的关闭方法必须抛出类型为的异常异常 最佳答案 Aut

java - 在 Stream API 中使用 AutoClosable 接口(interface)

这个问题在这里已经有了答案:Java8Streamoffiles,howtocontroltheclosingoffiles?(5个答案)关闭5年前。今天我尝试重构这段代码,它从目录中的文件中读取id,Setids=newHashSet();for(StringfileName:fileSystem.list("my-directory")){InputStreamstream=fileSystem.openInputStream(fileName);BufferedReaderbr=newBufferedReader(newInputStreamReader(stream));Str