org.apache.poi.xssf.util
Class EvilUnclosedBRFixingInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.apache.poi.xssf.util.EvilUnclosedBRFixingInputStream
All Implemented Interfaces:
java.io.Closeable

public class EvilUnclosedBRFixingInputStream
extends java.io.InputStream

This is a seriously sick fix for the fact that some .xlsx files contain raw bits of HTML, without being escaped or properly turned into XML. The result is that they contain things like >br<, which breaks the XML parsing. This very sick InputStream wrapper attempts to spot these go past, and fix them. Only works for UTF-8 and US-ASCII based streams! It should only be used where experience shows the problem can occur...


Constructor Summary
EvilUnclosedBRFixingInputStream(java.io.InputStream source)
           
 
Method Summary
 int read()
          Warning - doesn't fix!
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 
Methods inherited from class java.io.InputStream
available, close, mark, markSupported, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EvilUnclosedBRFixingInputStream

public EvilUnclosedBRFixingInputStream(java.io.InputStream source)
Method Detail

read

public int read()
         throws java.io.IOException
Warning - doesn't fix!

Specified by:
read in class java.io.InputStream
Throws:
java.io.IOException

read

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

read

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


Copyright 2012 The Apache Software Foundation or its licensors, as applicable.