blob: 552d7706e3b33795b00d08d49c9c27fd9d561bf3 [file] [log] [blame]
/*
* @(#)$RCSfile: MTextToString.java,v $ $Revision: 1.1 $ $Date: 2000/04/20 17:48:51 $
*
* (C) Copyright IBM Corp. 1998-1999. All Rights Reserved.
*
* The program is provided "as is" without any warranty express or
* implied, including the warranty of non-infringement and the implied
* warranties of merchantibility and fitness for a particular purpose.
* IBM will not be liable for any damages suffered by you as a result
* of using the Program. In no event will IBM be liable for any
* special, indirect or consequential damages or lost profits even if
* IBM has been advised of the possibility of their occurrence. IBM
* will not be liable for any third party claims against you.
*/
package com.ibm.richtext.textapps;
import com.ibm.richtext.styledtext.MConstText;
import java.io.*;
public final class MTextToString {
static final String COPYRIGHT =
"(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
public static void main(String[] args) {
if (args.length != 2) {
usage();
}
else {
writeMTextAsString(args[0], args[1]);
}
}
private static void usage() {
System.out.println("Usage: MTextToString inFile outFile");
System.out.println("inFile must be a serialized MConstText");
System.out.println("On exit, outFile will be a serialized String ");
System.out.println("containing the characters in the text.");
System.out.println("inFile and outFile must not be the same.");
System.exit(1);
}
public static void writeMTextAsString(String inFile, String outFile) {
File file = new File(inFile);
MConstText text = FileUtils.loadMText(file);
if (text != null) {
char[] ch = new char[text.length()];
text.extractChars(0, ch.length, ch, 0);
String str = new String(ch);
writeString(str, outFile);
}
else {
System.out.println("Can't read inFile.");
}
}
public static void writeString(String stringToWrite, String outFile) {
File file = new File(outFile);
Throwable error = null;
try {
OutputStream outStream = new FileOutputStream(file);
ObjectOutputStream objStream = new ObjectOutputStream(outStream);
objStream.writeObject(stringToWrite);
outStream.close();
return;
}
catch(IOException e) {
error = e;
}
catch(ClassCastException e) {
error = e;
}
error.printStackTrace();
}
}