gpt4 book ai didi

java - 在 Java 中读取输入流

转载 作者:行者123 更新时间:2023-12-01 10:07:21 26 4
gpt4 key购买 nike

我是 Java 新手,所以这个问题,

我正在使用以下类将文件读入字符串。

public class Reader {

public static String readFile(String fileName) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(fileName));
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();

while (line != null) {
sb.append(line);
sb.append("\n");
line = br.readLine();
}
return sb.toString();
} finally {
br.close();
}
}

}

如何修改 read 的方法签名以读取 InputStream 而不是字符串。

最佳答案

删除String 参数并创建一个InputStream 类型的参数。将此参数传递给 InputStreamReader 的构造函数,并且可以将此 InputStreamReader 传递给 BufferedReader 的构造函数。

public static String readFile(InputStream is) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(is));
.
.
.
}

也许您想尝试 try-with-resource 语句。然后你可以删除最后一个 block 。看起来像这样。

public static String readFile(InputStream is) throws IOException
{
try (BufferedReader br = new BufferedReader(new InputStreamReader(is)))
{
StringBuilder sb = new StringBuilder();
String line = br.readLine();

while (line != null)
{
sb.append(line);
sb.append("\n");
line = br.readLine();
}
return sb.toString();
}
}

关于java - 在 Java 中读取输入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36359014/

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