Clazz.load(["java.io.Closeable","$.InputStream"],"java.io.FileInputStream",["java.lang.IndexOutOfBoundsException","$.NullPointerException"],function(){ c$=Clazz.decorateAsClass(function(){ this.fd=null; this.innerFD=false; Clazz.instantialize(this,arguments); },java.io,"FileInputStream",java.io.InputStream,java.io.Closeable); Clazz.makeConstructor(c$, function(file){ Clazz.superConstructor(this,java.io.FileInputStream); },"java.io.File"); Clazz.makeConstructor(c$, function(fd){ Clazz.superConstructor(this,java.io.FileInputStream); if(fd==null){ throw new NullPointerException(); }},"java.io.FileDescriptor"); Clazz.makeConstructor(c$, function(fileName){ this.construct(null==fileName?null:null); },"~S"); Clazz.overrideMethod(c$,"available", function(){ return 0; }); Clazz.overrideMethod(c$,"close", function(){ if(this.fd==null){ return; }}); Clazz.overrideMethod(c$,"finalize", function(){ this.close(); }); Clazz.defineMethod(c$,"getFD", function(){ return this.fd; }); Clazz.defineMethod(c$,"read", function(){ var readed=Clazz.newArray(1,0); var result=this.read(readed,0,1); return result==-1?-1:readed[0]&0xff; }); Clazz.defineMethod(c$,"read", function(buffer){ return this.read(buffer,0,buffer.length); },"~A"); Clazz.defineMethod(c$,"read", function(buffer,offset,count){ if(count>buffer.length-offset||count<0||offset<0){ throw new IndexOutOfBoundsException(); }if(0==count){ return 0; }return 0; },"~A,~N,~N"); Clazz.overrideMethod(c$,"skip", function(count){ return 0; },"~N"); });