import java.io.PrintStream import java.io.FileOutputStream import java.io.InputStreamReader import java.io.FileInputStream module Kernel def jopen(filename, mode, encode = "ISO-8859-1") stream = nil if mode == "r" stream = read_stream(filename, encode) elsif mode == "w" stream = write_stream(filename, encode) end if block_given? begin yield stream ensure stream.close end else return stream end end def write_stream(filename, encode = "ISO-8859-1") PrintStream.new(FileOutputStream.new(filename), false, encode) end def read_stream(filename, encode = "ISO-8859-1") InputStreamReader.new(FileInputStream.new(filename), encode) end end class PrintStream def <<(obj) self.print(obj) self end end