哪位大虾给翻译一下,反编译的带匿名内部类的java文件

windsun0192 2007-10-10 10:35:31
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);
}

}
...全文
325 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
windsun0192 2007-10-10
  • 打赏
  • 举报
回复
如果这样的话,那就没什么办法了吗?
  • 打赏
  • 举报
回复
这个 class 文件不是使用 Java 生成的,可能是使用 C 语言生成的,反编译出来就是这种结果,
在 Java 所实现的底层 rt.jar 包里面的 com.sun.*、sun.* 包里面的 class 文件大多数也是这样的,
因为这些包里面的类大多数都不是使用 Java 编译器生成的。
windsun0192 2007-10-10
  • 打赏
  • 举报
回复
我是用DJ Java Decompiler 3.9 和小颖 反编译的 都出现问题了
windsun0192 2007-10-10
  • 打赏
  • 举报
回复
这就是反编译后的结果,但是出现了一些问题,无法正常编译通过,希望大虾们能不能把混淆的部分给翻译过来,跪谢!!!!!!!
  • 打赏
  • 举报
回复
这个 .class 文件不是使用 Java 编译器生成的。
iskyshop 2007-10-10
  • 打赏
  • 举报
回复
你得给出class文件才能反编译

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧