我得到了一个非常大的STRING
服务器。
背景:
实际上,我正在将图像转换为 Base69 字符串并将其存储在我的服务器上,而不是调用服务来取回字符串。我正在尝试将字符串存储到 String 变量
中,如下所示
String pic="";
if (payload.substring(i, i+10).equals("<picture >")) {
for (int j=i+10;j<payload.length();j++) {
if (payload.substring(j, j+5).equals("</pic")) {
user.setCountry(country);
user.setDOB(dob);
user.setUsername(uname);
user.setPic(pic);
users.add(user);
country="";
uname="";
pic="";
dob="";
i=j+5;
break;
} else {
pic = pic + payload.substring(j, j+1);
}
但问题是,一段时间后我的程序崩溃了,我没有将完整的字符串放入变量 pic
有没有办法处理来自服务器的很长的字符串?我的意思是说如何在我的变量 pic
中完全获得相同的 Base64
字符串,以便我将其解码回图片。
最佳答案
使用以下内容找到所需内容的结尾:
int endPos = payload.indexOf("</pic>", currentPos);
然后执行一个子字符串来获取完整图片数据:
String pic = payload.substring(currentPos, endPos);
关于java - 处理非常大的字符串 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23014242/