日期:2014-05-20  浏览次数:20786 次

哪位大虾给翻译一下,反编译的带匿名内部类的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[] {