1 jls.loader.provide('jls.io.PrintStream'); 2 3 jls.loader.require('jls.io.File'); 4 jls.loader.require('jls.io.OutputStreamWriter'); 5 jls.loader.require('jls.io.FileChannel'); 6 jls.loader.require('jls.io.FileOutputStream'); 7 8 jls.io.PrintStream = jls.lang.Class.create(jls.io.OutputStreamWriter, 9 { 10 initialize : function($super, out, csn) { 11 if ((out instanceof jls.io.FileChannel) || (out instanceof jls.io.FileOutputStream)) { 12 // nothing to do 13 } else if ((out instanceof jls.io.File) || (typeof out == 'string')) { 14 out = new jls.io.FileOutputStream(out); 15 } else if ((out instanceof _native.io.FileDesc) || (out instanceof _native.io.StaticFileDesc)) { 16 out = new jls.io.FileChannel(out); 17 } else { 18 throw new jls.lang.Exception('Invalid outputstream'); 19 } 20 $super(out, csn); 21 }, 22 print : function(s) { 23 return this.write(s); 24 }, 25 println : function(s) { 26 return this.writeLine(s); 27 } 28 }); 29