DataOutputStream类中的close方法

各位好,今天试用了一下,DataOutputStream类,当我使用后关闭DataOutputStream对象的时候,构造时传入的FileOutputStream流也被关闭了。文档里也是这么写的,但是我去查看源码时只发现了在FilterOutputStream类中的这么一小段:
public void close() throws IOException {
try (OutputStream ostream = out) {
flush();
}
}
到底DataOutputStream类中的close方法是否关闭了构造时传入的FileOutputStream流?
查1.6源码的时候是有关闭的,但查1.8源码的时候却没有关闭的那一段代码,很奇怪。如果是关闭了,这段源码怎么解释?在jdk包中的不全?

你看的src.zip里面的源码吧~ 里面关于FilterOutputStream的源码是错误的。反编译以后应该是这样的
public void close()
throws IOException
{
OutputStream localOutputStream = this.out;
Object localObject1 = null;
try
{
flush();
}
catch (Throwable localThrowable2)
{
localObject1 = localThrowable2;
throw localThrowable2;
}
finally
{
if (localOutputStream != null) {
if (localObject1 != null) {
try
{
localOutputStream.close();
}
catch (Throwable localThrowable3)
{
((Throwable)localObject1).addSuppressed(localThrowable3);
}
} else {
localOutputStream.close();
}
}
}
}
是正常关闭的