01: /*
02: * (C) Copyright IBM Corp. 1998-2004. All Rights Reserved.
03: *
04: * The program is provided "as is" without any warranty express or
05: * implied, including the warranty of non-infringement and the implied
06: * warranties of merchantibility and fitness for a particular purpose.
07: * IBM will not be liable for any damages suffered by you as a result
08: * of using the Program. In no event will IBM be liable for any
09: * special, indirect or consequential damages or lost profits even if
10: * IBM has been advised of the possibility of their occurrence. IBM
11: * will not be liable for any third party claims against you.
12: */
13: package com.ibm.richtext.textapps;
14:
15: import com.ibm.richtext.styledtext.MConstText;
16:
17: import java.io.*;
18:
19: public final class MTextToString {
20:
21: static final String COPYRIGHT = "(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
22:
23: public static void main(String[] args) {
24:
25: if (args.length != 2) {
26: usage();
27: } else {
28: writeMTextAsString(args[0], args[1]);
29: }
30: }
31:
32: private static void usage() {
33:
34: System.out.println("Usage: MTextToString inFile outFile");
35: System.out.println("inFile must be a serialized MConstText");
36: System.out
37: .println("On exit, outFile will be a serialized String ");
38: System.out.println("containing the characters in the text.");
39: System.out.println("inFile and outFile must not be the same.");
40: System.exit(1);
41: }
42:
43: public static void writeMTextAsString(String inFile, String outFile) {
44:
45: File file = new File(inFile);
46: MConstText text = FileUtils.loadMText(file);
47:
48: if (text != null) {
49: char[] ch = new char[text.length()];
50: text.extractChars(0, ch.length, ch, 0);
51: String str = new String(ch);
52: writeString(str, outFile);
53: } else {
54: System.out.println("Can't read inFile.");
55: }
56: }
57:
58: public static void writeString(String stringToWrite, String outFile) {
59:
60: File file = new File(outFile);
61: Throwable error = null;
62:
63: try {
64: OutputStream outStream = new FileOutputStream(file);
65: ObjectOutputStream objStream = new ObjectOutputStream(
66: outStream);
67:
68: objStream.writeObject(stringToWrite);
69: outStream.close();
70: return;
71: } catch (IOException e) {
72: error = e;
73: } catch (ClassCastException e) {
74: error = e;
75: }
76:
77: error.printStackTrace();
78: }
79: }
|