KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nu > xom > EBCDICWriter


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@metalab.unc.edu. 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 JavaDoc;
24 import java.io.OutputStreamWriter JavaDoc;
25 import java.io.OutputStream JavaDoc;
26 import java.io.UnsupportedEncodingException JavaDoc;
27
28
29 class EBCDICWriter extends OutputStreamWriter JavaDoc {
30     
31     
32     private final static int NEL = 0x85;
33     private OutputStream JavaDoc raw;
34     
35     
36     public EBCDICWriter(OutputStream JavaDoc out)
37       throws UnsupportedEncodingException JavaDoc {
38         super(out, "Cp037");
39         this.raw = out;
40     }
41     
42     
43     // work around broken implementation of EBCDIC-37
44
public void write(int c) throws IOException JavaDoc {
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
Popular Tags