Class ReplacingInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    @Internal
    public class ReplacingInputStream
    extends java.io.FilterInputStream
    Simple FilterInputStream that can replace occurrences of bytes with something else. This has been taken from inbot-utils. (MIT licensed)
    See Also:
    inbot-utils
    • Constructor Summary

      Constructors 
      Constructor Description
      ReplacingInputStream​(java.io.InputStream in, byte[] pattern, byte[] replacement)
      Replace occurrences of pattern in the input.
      ReplacingInputStream​(java.io.InputStream in, java.lang.String pattern, java.lang.String replacement)
      Replace occurrences of pattern in the input.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int read()  
      int read​(byte[] b)  
      int read​(byte[] b, int off, int len)  
      java.lang.String toString()  
      • Methods inherited from class java.io.FilterInputStream

        available, close, mark, markSupported, reset, skip
      • Methods inherited from class java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ReplacingInputStream

        public ReplacingInputStream​(java.io.InputStream in,
                                    java.lang.String pattern,
                                    java.lang.String replacement)
        Replace occurrences of pattern in the input. Note: input is assumed to be UTF-8 encoded. If not the case use byte[] based pattern and replacement.
        Parameters:
        in - input
        pattern - pattern to replace.
        replacement - the replacement or null
      • ReplacingInputStream

        public ReplacingInputStream​(java.io.InputStream in,
                                    byte[] pattern,
                                    byte[] replacement)
        Replace occurrences of pattern in the input.

        If you want to normalize line endings DOS/MAC (\n\r | \r) to UNIX (\n), you can call the following:
        new ReplacingInputStream(new ReplacingInputStream(is, "\n\r", "\n"), "\r", "\n")

        Parameters:
        in - input
        pattern - pattern to replace
        replacement - the replacement or null
    • Method Detail

      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws java.io.IOException
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b)
                 throws java.io.IOException
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • read

        public int read()
                 throws java.io.IOException
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object