我应该如何处理在Java中搜索字节数组?

时间:2010-05-02 01:16:59

标签: java http parsing bytearray

初步:我正在用Java编写自己的httpclient。我试图解析分块编码的内容。

这是我的困境:因为我试图用gzip有效载荷解析分块的http传输编码,所以有ascii和binary的混合。我不能只取http resp内容并将其转换为字符串并使用StringUtils,因为二进制数据可以很容易地包含nil字符。所以我需要做的是解析每个块及其块长度的一些基本的东西(根据chunked transfer / HTTP / 1.1规范)。

是否有任何有用的方法可以搜索某些模式的二进制/部分ascii数据的字节数组(例如CR LF)(而不只是单个字节)?或者我必须为此编写for循环吗?

2 个答案:

答案 0 :(得分:2)

因此,您基本上需要ChunkedInputStreamGoogle提供了足够的提示。 Apache HttpCore's变体非常简洁。我建议你只使用它而不是重新发明自己的客户。

答案 1 :(得分:0)

如果您确实想要从头开始实现自己的HTTP客户端堆栈,请尝试Google搜索“+ java + bytestring”。我得到的第一个点击之一是这个ByteString类,它似乎确实提供了你要求的那种功能。

但我认为@ BalusC的方法更好。