Class BOMInputStream.Builder

All Implemented Interfaces:
IOSupplier<BOMInputStream>
Enclosing class:
BOMInputStream

public static class BOMInputStream.Builder extends AbstractStreamBuilder<BOMInputStream,BOMInputStream.Builder>
Builds a new BOMInputStream instance.

Using NIO


 BOMInputStream s = BOMInputStream.builder()
   .setPath(Paths.get("MyFile.xml"))
   .setByteOrderMarks(ByteOrderMark.UTF_8)
   .setInclude(false)
   .get();
 

Using IO


 BOMInputStream s = BOMInputStream.builder()
   .setFile(new File("MyFile.xml"))
   .setByteOrderMarks(ByteOrderMark.UTF_8)
   .setInclude(false)
   .get();
 
Since:
2.12.0
  • Field Details

    • DEFAULT

      private static final ByteOrderMark[] DEFAULT
    • byteOrderMarks

      private ByteOrderMark[] byteOrderMarks
    • include

      private boolean include
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • getDefaultByteOrderMark

      static ByteOrderMark getDefaultByteOrderMark()
      For test access.
      Returns:
      the default byte order mark
    • get

      public BOMInputStream get() throws IOException
      Constructs a new instance.

      This builder use the aspects InputStream, OpenOption[], include, and ByteOrderMark[].

      You must provide an origin that can be converted to an InputStream by this builder, otherwise, this call will throw an UnsupportedOperationException.

      Returns:
      a new instance.
      Throws:
      UnsupportedOperationException - if the origin cannot provide an InputStream.
      IOException - if an I/O error occurs.
      See Also:
    • setByteOrderMarks

      public BOMInputStream.Builder setByteOrderMarks(ByteOrderMark... byteOrderMarks)
      Sets the ByteOrderMarks to detect and optionally exclude.

      The default is ByteOrderMark.UTF_8.

      Parameters:
      byteOrderMarks - the ByteOrderMarks to detect and optionally exclude.
      Returns:
      this
    • setInclude

      public BOMInputStream.Builder setInclude(boolean include)
      Sets whether to include the UTF-8 BOM (true) or to exclude it (false).

      The default is false.

      Parameters:
      include - true to include the UTF-8 BOM or false to exclude it. return this;
      Returns:
      this