org.apache.tuscany.sca.contribution.service.util
Class IOHelper.SafeURLInputStream
java.lang.Object
java.io.InputStream
org.apache.tuscany.sca.contribution.service.util.IOHelper.SafeURLInputStream
- All Implemented Interfaces:
- java.io.Closeable
- Enclosing class:
- IOHelper
public static class IOHelper.SafeURLInputStream
- extends java.io.InputStream
This class is a workaround for URL stream issue as illustrated below.
InputStream is=url.getInputStream(); is.close(); // This line doesn't close
the JAR file if the URL is a jar entry like "jar:file:/a.jar!/my.composite" We
also need to turn off the JarFile cache.
- See Also:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4950148
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
IOHelper.SafeURLInputStream
public IOHelper.SafeURLInputStream(java.net.URL url)
throws java.io.IOException
- Throws:
java.io.IOException
IOHelper.SafeURLInputStream
public IOHelper.SafeURLInputStream(java.net.JarURLConnection connection)
throws java.io.IOException
- Throws:
java.io.IOException
available
public int available()
throws java.io.IOException
- Overrides:
available
in class java.io.InputStream
- Throws:
java.io.IOException
close
public void close()
throws java.io.IOException
- Specified by:
close
in interface java.io.Closeable
- Overrides:
close
in class java.io.InputStream
- Throws:
java.io.IOException
mark
public void mark(int readlimit)
- Overrides:
mark
in class java.io.InputStream
markSupported
public boolean markSupported()
- Overrides:
markSupported
in class java.io.InputStream
read
public int read()
throws java.io.IOException
- 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
reset
public void reset()
throws java.io.IOException
- Overrides:
reset
in class java.io.InputStream
- Throws:
java.io.IOException
skip
public long skip(long n)
throws java.io.IOException
- Overrides:
skip
in class java.io.InputStream
- Throws:
java.io.IOException