gpt4 book ai didi

java - InputStreamReader 不限制返回的长度

转载 作者:行者123 更新时间:2023-11-29 03:30:35 24 4
gpt4 key购买 nike

我正在努力学习 Java 并浏览 Android 网站上的示例。我正在获取 XML 文件的远程内容。我能够获取文件的内容,但随后我需要将 InputStream 转换为 String

public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException {
InputStreamReader reader = null;
reader = new InputStreamReader(stream, "UTF-8");
char[] buffer = new char[len];
reader.read(buffer);
return new String(buffer);
}

我遇到的问题是我不希望字符串受到 len var 的限制。但是,我不太了解 java,不知道如何更改它。

如何创建没有长度的 char

最佳答案

一般来说,输入字符串没有最大长度是不好的做法,因为可能会用完可用内存来存储它。

就是说,您可以忽略 len 变量,只是循环 reader.read(...) 并将缓冲区附加到您的字符串,直到您阅读整个 InputStream 像这样:

public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException {
String result = "";
InputStreamReader reader = null;
reader = new InputStreamReader(stream, "UTF-8");
char[] buffer = new char[len];
while(reader.read(buffer) >= 0)
{
result = result + (new String(buffer));
buffer = new char[len];
}
return result;
}

关于java - InputStreamReader 不限制返回的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18475685/

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