我寻找一个将正则表达式应用于Java I / O流的示例,该流不会简单地将流转换为字符串,因为我希望保留二进制数据。互联网上的大多数例子都集中在文本数据......
答案 0 :(得分:9)
Java Standard上不存在所需的功能。您必须使用jakarta regexp,特别是StreamCharacterIterator类。该类封装了一个InputStream,用于regexp操作。
如果您想使用标准正则表达式包,我建议您从上一课here获取来源,并通过实施CharSequence而不是CharacterIterator来更改合同。< / p>
答案 1 :(得分:0)
将流转换为字节数组。
答案 2 :(得分:0)
尝试使用Ragel - 带有转换回调的正则表达式工具。
可以应用于流和块。
答案 3 :(得分:-2)
必须对字符串执行正则表达式操作,字符串是二进制数据的编码字节。您无法对不知道它们代表什么的数据字节执行正则表达式操作。