我有一个非常大的字节数组。我想向后阅读它,直到找到像 BEGIN:VCARD 或 END:VCARD 等字符串。我想尽可能逐行访问数组。
答案 0 :(得分:3)
使用String.lastIndexOf(String str, int fromIndex)
应该是一个简单的编码问题。其余的由你决定。
如果字节数组太大以至于将其转换为单个字符串将使用太多内存,则向后扫描数组以查找行边界,为每行创建字符串,并使用lastIndexOf
在每一行字符串上。
答案 1 :(得分:2)
如果性能不是那么重要,你可以先通过字节数组构造函数构建一个字符串(new String(byte [] bytes))然后String.lastIndexOf(String str)就是你的朋友。它将为您提供给定字符串最后出现的位置。