所以我有一大堆字节。它的前2/3基本上只是空白,只是0。在最后,有一些文本对我有用,并且在该文本之间也有很多乱码。
现在你如何从字节数组中过滤出至少空白部分?
现在,这就是我在做的事情:
FileInputStream fis = null;
fis = new FileInputStream("resources/xampp2.zip");
byte[] bytes = IOUtils.toByteArray(fis);
String decoded = new String(bytes, "UTF-8");
这是一个损坏的.zip,所以我说的2/3是完全空的,其余的是Central目录。但是现在它只是将它全部加载到一个非常大的String变量中,这实际上不是一种有效的方式来做我相信的事情吗?
但是如何迭代我的数组中的字节块并滤除垃圾呢?
答案 0 :(得分:1)
您可以从已解码的字符串中删除空字节
decoded = decoded.replaceAll("\u0000+", "");