01: /*
02: *
03: *
04: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
05: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
06: *
07: * This program is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License version
09: * 2 only, as published by the Free Software Foundation.
10: *
11: * This program is distributed in the hope that it will be useful, but
12: * WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * General Public License version 2 for more details (a copy is
15: * included at /legal/license.txt).
16: *
17: * You should have received a copy of the GNU General Public License
18: * version 2 along with this work; if not, write to the Free Software
19: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA
21: *
22: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
23: * Clara, CA 95054 or visit www.sun.com if you need additional
24: * information or have any questions.
25: */
26:
27: package com.sun.cldc.i18n.j2me;
28:
29: import java.io.*;
30: import com.sun.cldc.i18n.*;
31:
32: /**
33: * Default J2ME class for output stream writers.
34: *
35: * @version 1.0 10/18/99
36: * @version 1.1 03/29/02
37: */
38: public class ISO8859_1_Writer extends StreamWriter {
39:
40: /**
41: * Write a single character.
42: *
43: * @exception IOException If an I/O error occurs
44: */
45: synchronized public void write(int c) throws IOException {
46: if (c > 255) {
47: c = '?'; // was --> throw new RuntimeException("Unknown character "+c);
48: }
49: out.write(c);
50: }
51:
52: /**
53: * Write a portion of an array of characters.
54: *
55: * @param cbuf Buffer of characters to be written
56: * @param off Offset from which to start reading characters
57: * @param len Number of characters to be written
58: *
59: * @exception IOException If an I/O error occurs
60: */
61: synchronized public void write(char cbuf[], int off, int len)
62: throws IOException {
63: while (len-- > 0) {
64: write(cbuf[off++]);
65: }
66: }
67:
68: /**
69: * Write a portion of a string.
70: *
71: * @param str String to be written
72: * @param off Offset from which to start reading characters
73: * @param len Number of characters to be written
74: *
75: * @exception IOException If an I/O error occurs
76: */
77: synchronized public void write(String str, int off, int len)
78: throws IOException {
79: for (int i = 0; i < len; i++) {
80: write(str.charAt(off + i));
81: }
82: }
83:
84: /**
85: * Get the size in bytes of an array of chars
86: */
87: public int sizeOf(char[] array, int offset, int length) {
88: return length;
89: }
90:
91: }
|