java - 处理非常大的字符串 Java

标签 java android string stringbuilder

我得到了一个非常大的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/

相关文章:

java - ConcurrentHashMap 的线程安全

android - 如何使用 Robolectric 测试 Application 类?

android - 如何解决屏幕旋转时 viewpager 中的选项卡覆盖的问题?

java - 在不初始化大小的情况下存储字符串数组

java - LayerUI, g.drawImage 下划线

java - 应用程序在 Firebase 数据库 getinstance 上崩溃

java - 获取资源的本地文件路径

android - 延迟后显示的 ViewPager fragment 中的操作栏项目

java - 如何截断一定长度的字符串但截断后包含完整的单词

string - 在 PowerShell 中连接变量和字符串文字(不带空格)