Anwenden eines regulären Ausdrucks auf einen Java-E / A-Stream [geschlossen]

8

Ich suche ein Beispiel für die Anwendung eines regulären Ausdrucks auf einen Java-I / O-Stream, der den Stream nicht einfach in eine Zeichenfolge konvertiert, da ich Binärdaten beibehalten möchte. Die meisten Beispiele im Internet konzentrieren sich auf Textdaten ...

    
McGovernTheory 04.04.2009, 11:24
quelle

4 Antworten

9

Die benötigte Funktionalität ist in Java Standard nicht vorhanden. Sie müssen jakarta regexp verwenden und insbesondere StreamCharacterIterator Klasse. Diese Klasse kapselt einen InputStream zur Verwendung in Regexp-Operationen.

Wenn Sie das Standard-Paket für reguläre Ausdrücke verwenden möchten, würde ich vorschlagen, eine Quelle aus der vorherigen Klasse zu nehmen hier und ändern Sie den Vertrag, indem Sie CharSequence anstelle von CharacterIterator .

    
Marcelo Morales 04.04.2009 11:43
quelle
0

Konvertiere den Stream in ein Byte-Array.

    
tpdi 04.04.2009 11:30
quelle
0

Versuchen Sie, Ragel - ein Tool für reguläre Ausdrücke mit Callbacks für Übergänge zu verwenden.

Kann auf Streams und Chunks angewendet werden.

    
DenisKolodin 17.01.2013 07:01
quelle
-2

Regex-Operationen müssen für Strings ausgeführt werden, bei denen es sich um codierte Bytes binärer Daten handelt. Sie können keine Regex-Operationen für Datenbytes durchführen, Sie haben keine Ahnung, was sie repräsentieren.

    
Yuval Adam 04.04.2009 11:32
quelle