? ClassLoaderObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
org.apache.commons.io.input.ClassLoaderObjectInputStream
- ????????:
Closeable
,DataInput
,ObjectInput
,ObjectStreamConstants
,AutoCloseable
A special ObjectInputStream that loads a class based on a specified
ClassLoader
rather than the system default.
This is useful in dynamic container environments.
- ???????:
- 1.1
-
?????
????????/?? java.io.ObjectInputStream
ObjectInputStream.GetField
-
????
???????? java.io.ObjectStreamConstants
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, SERIAL_FILTER_PERMISSION, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING
-
?????
????????ClassLoaderObjectInputStream
(ClassLoader classLoader, InputStream inputStream) Constructs a new ClassLoaderObjectInputStream. -
????
??????????protected Class<?>
resolveClass
(ObjectStreamClass objectStreamClass) Resolve a class specified by the descriptor using the specified ClassLoader or the super ClassLoader.protected Class<?>
resolveProxyClass
(String[] interfaces) Create a proxy class that implements the specified interfaces using the specified ClassLoader or the super ClassLoader.??????? java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, getObjectInputFilter, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, setObjectInputFilter, skipBytes
??????? java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
??????? java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
???????? java.io.ObjectInput
read, skip
-
???????
-
ClassLoaderObjectInputStream
public ClassLoaderObjectInputStream(ClassLoader classLoader, InputStream inputStream) throws IOException, StreamCorruptedException Constructs a new ClassLoaderObjectInputStream.- ??:
classLoader
- the ClassLoader from which classes should be loadedinputStream
- the InputStream to work on- ??:
IOException
- in case of an I/O errorStreamCorruptedException
- if the stream is corrupted
-
-
??????
-
resolveClass
protected Class<?> resolveClass(ObjectStreamClass objectStreamClass) throws IOException, ClassNotFoundException Resolve a class specified by the descriptor using the specified ClassLoader or the super ClassLoader.- ??:
resolveClass
???ObjectInputStream
- ??:
objectStreamClass
- descriptor of the class- ??:
- the Class object described by the ObjectStreamClass
- ??:
IOException
- in case of an I/O errorClassNotFoundException
- if the Class cannot be found
-
resolveProxyClass
protected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException Create a proxy class that implements the specified interfaces using the specified ClassLoader or the super ClassLoader.- ??:
resolveProxyClass
???ObjectInputStream
- ??:
interfaces
- the interfaces to implement- ??:
- a proxy class implementing the interfaces
- ??:
IOException
- in case of an I/O errorClassNotFoundException
- if the Class cannot be found- ???????:
- 2.1
- ????:
-