在Java中,可以使用BufferedReader类来在不关闭输入流的情况下读取输入流。以下是一个示例代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ReadInputStream {
public static void main(String[] args) {
InputStream inputStream = System.in;
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
try {
String line;
while ((line = reader.readLine()) != null) {
System.out.println("Read input: " + line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
在上述代码中,我们使用System.in作为输入流,并将其包装在BufferedReader中。然后,我们可以使用readLine()方法逐行读取输入流的内容。当输入流结束时,readLine()方法将返回null,此时循环结束。
需要注意的是,为了确保资源的正确释放,我们在finally块中关闭了BufferedReader。这样可以保证在读取完输入流后,关闭输入流,避免资源泄漏。
推荐的腾讯云相关产品:腾讯云对象存储(COS)。
腾讯云对象存储(COS)是一种海量、安全、低成本、高可靠的云存储服务,适用于存储和处理任意类型的文件。它提供了简单易用的API接口,可以方便地与Java代码集成。您可以使用腾讯云COS SDK来上传、下载、管理和删除文件,同时还可以设置访问权限、进行文件加密等操作。
腾讯云COS产品介绍链接地址:https://cloud.tencent.com/product/cos
领取专属 10元无门槛券
手把手带您无忧上云