Application d’une expression régulière à un stream d’E / S Java

Je cherche un exemple d’application d’une expression régulière à un stream d’E / S Java qui ne convertit pas simplement le stream en chaîne car je souhaite conserver les données binarys. La plupart des exemples sur Internet se concentrent sur les données de texte …

La fonctionnalité nécessaire n’est pas présente sur Java Standard. Vous devrez utiliser jakarta regexp , et plus particulièrement la classe StreamCharacterIterator . Cette classe encapsule un InputStream à utiliser dans des opérations regexp.

Si vous souhaitez utiliser le package d’expressions régulières standard, je vous suggère de prendre le source de la classe précédente et de modifier le contrat en implémentant CharSequence au lieu de CharacterIterator .

Convertissez le stream en tableau d’octets.

Essayez d’utiliser Ragel – outil d’expression régulière avec les rappels de transitions.

Peut être appliqué aux stream et aux morceaux.

Les opérations de regex doivent être effectuées sur des chaînes, qui sont des octets codés de données binarys. Vous ne pouvez pas effectuer d’opérations regex sur des octets de données, vous n’avez aucune idée de ce qu’elles représentent.