gpt4 book ai didi

java - 使用 InputStream 读取文件的一行

转载 作者:行者123 更新时间:2023-11-29 06:53:32 27 4
gpt4 key购买 nike

由于之前的实现需要我使用 InputStream,我不能使用 BufferedReader

我的测试台使用了一个 BufferedReader 和一个 while 循环,如下所示:

while ((line = br.readLine()) != null)

但是 br 现在需要是一个 InputStream(并且将被重命名)。有什么方法可以用 InputStream 以这种方式读取,还是我必须一次读取一个字节并搜索 \n

最佳答案

如果您必须使用 InputStream 进行读取,则将其包装到 InputStreamReader 中,然后将其包装到 BufferedReader 中,从而允许您使用熟悉的 BufferedReader 方法。在这种情况下不需要进行非缓冲输入。

// assuming that you have an InputStream named inputStream
try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) {
String line = null;
while((line = br.readLine()) != null) {
// use line here
}
} catch (IOException e) {
e.printStackTrace();
}

或者,将 InputStream 包装在 Scanner 对象中:

try (Scanner scanner = new Scanner(inputStream)) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
// use line here
}
}

关于java - 使用 InputStream 读取文件的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40250814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com