2 *******************************************************************************
3 * Copyright (C) 2001-2010, International Business Machines Corporation and *
4 * others. All Rights Reserved. *
5 *******************************************************************************
8 package com.ibm.icu.dev.test.format;
10 import java.io.ByteArrayOutputStream;
11 import java.io.FileOutputStream;
12 import java.io.ObjectOutputStream;
13 import java.util.Locale;
15 import com.ibm.icu.text.NumberFormat;
19 * @author Ram Viswanadha
21 public class WriteNumberFormatSerialTestData {
22 static final String header="/*\n" +
23 " *******************************************************************************\n"+
24 " * Copyright (C) 2001, International Business Machines Corporation and *\n"+
25 " * others. All Rights Reserved. *\n"+
26 " *******************************************************************************\n"+
28 "package com.ibm.icu.dev.test.format;\n\n"+
30 "public class NumberFormatSerialTestData {\n"+
32 " public static byte[][] getContent() {\n"+
36 static final String footer ="\n final static byte[][] content = {generalInstance, currencyInstance, percentInstance, scientificInstance};\n"+
38 public static void main(String[] args){
39 NumberFormat nf = NumberFormat.getInstance(Locale.US);
40 NumberFormat nfc = NumberFormat.getCurrencyInstance(Locale.US);
41 NumberFormat nfp = NumberFormat.getPercentInstance(Locale.US);
42 NumberFormat nfsp = NumberFormat.getScientificInstance(Locale.US);
45 FileOutputStream file = new FileOutputStream("NumberFormatSerialTestData.java");
46 file.write(header.getBytes());
47 write(file,(Object)nf,"generalInstance", "//NumberFormat.getInstance(Locale.US)");
48 write(file,(Object)nfc,"currencyInstance","//NumberFormat.getCurrencyInstance(Locale.US)");
49 write(file,(Object)nfp,"percentInstance","//NumberFormat.getPercentInstance(Locale.US)");
50 write(file,(Object)nfsp,"scientificInstance","//NumberFormat.getScientificInstance(Locale.US)");
51 file.write(footer.getBytes());
54 System.out.println(e.getMessage());
58 private static void write(FileOutputStream file,Object o ,String name,String comment){
60 ByteArrayOutputStream bts = new ByteArrayOutputStream();
61 ObjectOutputStream os = new ObjectOutputStream(bts);
62 os.writeObject((Object)o);
65 byte[] myArr = bts.toByteArray();
66 //String temp = new String(myArr);
67 System.out.println(" "+comment+ " :");
68 /*System.out.println("minimumIntegerDigits : " + (temp.indexOf("minimumIntegerDigits")+"minimumIntegerDigits".length()));
69 System.out.println("maximumIntegerDigits : " + (temp.indexOf("maximumIntegerDigits")+"maximumIntegerDigits".length()));
70 System.out.println("minimumFractionDigits : " + (temp.indexOf("minimumFractionDigits")+"minimumFractionDigits".length()));
71 System.out.println("maximumFractionDigits : " + (temp.indexOf("maximumFractionDigits")+"maximumFractionDigits".length()));
74 file.write(("\n "+comment).getBytes());
75 file.write(new String("\n static byte[] "+name+" = new byte[]{ \n").getBytes("UTF-8"));
76 file.write( " ".getBytes());
77 for(int i=0; i<myArr.length; i++){
78 file.write(String.valueOf((int)myArr[i]).getBytes());
79 file.write( ", ".getBytes());
81 file.write("\n".getBytes());
82 file.write( " ".getBytes());
85 file.write(new String("\n };\n").getBytes("UTF-8"));
87 System.out.println(e.getMessage());