假设我正在ByteArrayInputStream
从本地 String 变量构造一个 Java。例如,假设我有一个csv
表示 CSV 文件内容的大字符串,我需要将其放入输入流中,以便从该字符串而不是从文件中读取我的程序组件。例如,
InputStream inputStream = new ByteArrayInputStream(csv.getBytes(StandardCharsets.UTF_8));
完成处理后是否需要关闭此 inputStream?我知道关闭未使用的输入流通常是一个好习惯,通常是通过 try-resources 构造。我现在特别感兴趣的是,在其方法返回时该变量超出范围之前选择不关闭该输入流的后果是什么。是否会因为我打开流而导致内存泄漏?还是因为流是在局部变量而不是文件资源上打开的,所以这无关紧要?