读书人

哪位给翻译一下反编译的带匿名内部类

发布时间: 2011-12-05 22:12:57 作者: rapoo

哪位大虾给翻译一下,反编译的带匿名内部类的java文件
public class ResponseWrapper extends HttpServletResponseWrapper
{

private static final Log log;
private Class writerClass;
private Class streamClass;
private HttpServletResponse response;
public static String perStr = "function turboCWCShopCR(){var tbcscopyright=\"<center><a href='http://www.turboshop.cn' target='_blank'><img src='http://www.turboshop.cn/powerby_logo.gif' alt='Enjoy Your E-Commerce!' border='0'></a></center><br>\";if(document.getElementById('TurboShopCopyright')==null) document.write(tbcscopyright);else document.getElementById('TurboShopCopyright').innerHTML=tbcscopyright;}if(typeof window.HTMLElement == 'undefined') window.attachEvent('onload',turboCWCShopCR);else window.onload=turboCWCShopCR;\n";
static Class class$0; /* synthetic field */
static Class class$1; /* synthetic field */
static Class class$2; /* synthetic field */

public ResponseWrapper(HttpServletResponse response)
throws IOException
{
super(response);
this.response = response;
}

public ServletOutputStream getOutputStream()
throws IOException
{
ServletOutputStream stream = response.getOutputStream();
try
{
//以下代码实现匿名内部类
ServletOutputStream streamWrapper = new ServletOutputStream(stream) {

private int iii;
private char preChar[];
OutputStream impl;

public void write(int b)
throws IOException
{
impl.write(b);
}

//构造函数??
throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException
{
this$0 = ResponseWrapper.this;
iii = 0;
this;
streamClass;
Class aclass[] = new Class[1];
aclass;
aclass;
0;
ResponseWrapper.class$1;
if(ResponseWrapper.class$1 != null) goto _L2; else goto _L1
_L1:
JVM INSTR pop ;
ResponseWrapper.class$1 = Class.forName("java.io.OutputStream");
goto _L2
JVM INSTR new #52 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L2:
JVM INSTR aastore ;
getConstructor();
new OutputStream[] {
servletoutputstream
};
newInstance();
(OutputStream);
impl;
}
};
return streamWrapper;
}
catch(Throwable e)
{
log.error("PrintWrite:" + e);
}
return stream;
}

public PrintWriter getWriter()
throws IOException
{
PrintWriter writer = response.getWriter();
try
{
Constructor constructor = writerClass.getConstructor(new Class[] {


java.io.PrintWriter.class
});
return (PrintWriter)constructor.newInstance(new PrintWriter[] {
writer
});
}
catch(Throwable e)
{
log.error("????PrintWriter????", e);
}
return writer;
}

Class getStreamClass()
{
return streamClass;
}

void setStreamClass(Class streamClass)
{
this.streamClass = streamClass;
}

Class getWriterClass()
{
return writerClass;
}

void setWriterClass(Class writerClass)
{
this.writerClass = writerClass;
}

static
{
log = LogFactory.getLog(com.cwc.i18n.web.chinese.ResponseWrapper.class);
}

}

[解决办法]
你得给出class文件才能反编译
[解决办法]
这个 .class 文件不是使用 Java 编译器生成的。

读书人网 >J2SE开发

热点推荐