Java 线程里的流需要手动关闭吗?

线程结束时,线程里用的流是会自动关闭吗?有没有什么情况不用手动关闭流的。

1、肯定需要关闭;
2、关闭方式,手动关闭,在finally里面关闭流,jdk1.7之后,可以自动关闭,但是需要这样写

#方式一
try {
            
        }finally {
            
        }

#方式二
try(FileInputStream inputStream = new FileInputStream("")) {
            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }