1 /* Copyright 2002-2004 Elliotte Rusty Harold 2 3 This library is free software; you can redistribute it and/or modify 4 it under the terms of version 2.1 of the GNU Lesser General Public 5 License as published by the Free Software Foundation. 6 7 This library is distributed in the hope that it will be useful, 8 but WITHOUT ANY WARRANTY; without even the implied warranty of 9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 GNU Lesser General Public License for more details. 11 12 You should have received a copy of the GNU Lesser General Public 13 License along with this library; if not, write to the 14 Free Software Foundation, Inc., 59 Temple Place, Suite 330, 15 Boston, MA 02111-1307 USA 16 17 You can contact Elliotte Rusty Harold by sending e-mail to 18 elharo@ibiblio.org. Please include the word "XOM" in the 19 subject line. The XOM home page is located at http://www.xom.nu/ 20 */ 21 package nu.xom; 22 23 import java.io.IOException; 24 import java.io.OutputStreamWriter; 25 import java.io.OutputStream; 26 import java.io.UnsupportedEncodingException; 27 28 29 class EBCDICWriter extends OutputStreamWriter { 30 31 32 private final static int NEL = 0x85; 33 private OutputStream raw; 34 35 EBCDICWriter(OutputStream out)36 public EBCDICWriter(OutputStream out) 37 throws UnsupportedEncodingException { 38 super(out, "Cp037"); 39 this.raw = out; 40 } 41 42 43 // work around broken implementation of EBCDIC-37 write(int c)44 public void write(int c) throws IOException { 45 46 if (c == NEL) { 47 flush(); 48 raw.write(0x15); 49 } 50 else { 51 super.write(c); 52 } 53 54 } 55 56 57 } 58