OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [gnu/] [gcj/] [convert/] [Convert.java] - Blame information for rev 756

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 756 jeremybenn
/* Copyright (C) 1999, 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
2
   Free Software Foundation
3
 
4
   This file is part of libgcj.
5
 
6
This software is copyrighted work licensed under the terms of the
7
Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
8
details.  */
9
 
10
package gnu.gcj.convert;
11
import java.io.*;
12
 
13
public class Convert
14
{
15
  static void error (String message)
16
  {
17
    System.err.print("jv-convert: ");
18
    System.err.println(message);
19
    System.err.println("Try `jv-convert --help' for more information.");
20
    System.exit(1);
21
  }
22
 
23
  static void help ()
24
  {
25
    System.out.println("Usage: jv-convert [OPTIONS] [INPUTFILE [OUTPUTFILE]]");
26
    System.out.println();
27
    System.out.println("Convert from one encoding to another.");
28
    System.out.println();
29
    System.out.println("   --encoding FROM");
30
    System.out.println("   --from FROM        use FROM as source encoding name");
31
    System.out.println("   --to TO            use TO as target encoding name");
32
    System.out.println("   -i FILE            read from FILE");
33
    System.out.println("   -o FILE            print output to FILE");
34
    System.out.println("   --reverse          swap FROM and TO encodings");
35
    System.out.println("   --help             print this help, then exit");
36
    System.out.println("   --version          print version number, then exit");
37
    System.out.println();
38
    System.out.println("`-' as a file name argument can be used to refer to stdin or stdout.");
39
    System.exit(0);
40
  }
41
 
42
  static void version ()
43
  {
44
    System.out.println("jv-convert ("
45
                       + System.getProperty("java.vm.name")
46
                       + ") "
47
                       + System.getProperty("java.vm.version"));
48
    System.out.println();
49
    System.out.println("Copyright (C) 2012 Free Software Foundation, Inc.");
50
    System.out.println("This is free software; see the source for copying conditions.  There is NO");
51
    System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
52
    System.exit(0);
53
  }
54
 
55
  static void missing (String arg)
56
  {
57
    error("missing arg after `" + arg + "' option");
58
  }
59
 
60
  public static void main (String[] args)
61
  {
62
    String inName = "-";
63
    String outName = "-";
64
    String inEncodingName = null;
65
    String outEncodingName = "JavaSrc";
66
    int seenNames = 0;
67
    boolean reverse = false;
68
 
69
    for (int i = 0;  i < args.length;  i++)
70
      {
71
        String arg = args[i];
72
        if (arg.length() == 0)
73
          error("zero-length argument");
74
        if (arg.charAt(0) == '-')
75
          {
76
            if (arg.equals("-encoding") || arg.equals("--encoding")
77
                || args.equals("-from") || arg.equals("--from"))
78
              {
79
                if (++i == args.length) missing(arg);
80
                inEncodingName = args[i];
81
              }
82
            else if (arg.equals("-to") || arg.equals("--to"))
83
              {
84
                if (++i == args.length) missing(arg);
85
                outEncodingName = args[i];
86
              }
87
            else if (arg.equals("-i"))
88
              {
89
                if (++i == args.length) missing(arg);
90
                inName = args[i];
91
              }
92
            else if (arg.equals("-o"))
93
              {
94
                if (++i == args.length) missing(arg);
95
                outName = args[i];
96
              }
97
            else if (arg.equals("-reverse") || arg.equals("--reverse"))
98
              {
99
                reverse = true;
100
              }
101
            else if (arg.equals("-help") || arg.equals("--help"))
102
              {
103
                help ();
104
              }
105
            else if (arg.equals("-version") || arg.equals("--version"))
106
              {
107
                version ();
108
              }
109
            else if (arg.equals("-"))
110
              {
111
                switch (seenNames)
112
                  {
113
                  case 0:
114
                    inName = "-";
115
                    seenNames++;
116
                    break;
117
                  case 1:
118
                    outName = "-";
119
                    seenNames++;
120
                    break;
121
                  default:
122
                    error("too many `-' arguments");
123
                  }
124
              }
125
            else
126
              error("unrecognized argument `" + arg + "'");
127
          }
128
        else
129
          {
130
            switch (seenNames)
131
              {
132
              case 0:
133
                inName = arg;
134
                seenNames++;
135
                break;
136
              case 1:
137
                outName = arg;
138
                seenNames++;
139
                break;
140
              default:
141
                error("too many filename arguments");
142
              }
143
          }
144
      }
145
 
146
    if (reverse)
147
      {
148
        String tmp = inEncodingName;
149
        inEncodingName = outEncodingName;
150
        outEncodingName = tmp;
151
      }
152
 
153
    try
154
      {
155
        InputStream inStream = inName.equals("-") ? System.in
156
          : new FileInputStream(inName);
157
        OutputStream outStream;
158
        if (outName.equals("-"))
159
          outStream = System.out;
160
        else
161
          outStream = new FileOutputStream(outName);
162
        InputStreamReader in
163
          = (inEncodingName == null
164
             ? new InputStreamReader(inStream)
165
             : new InputStreamReader(inStream, inEncodingName));
166
        OutputStreamWriter out
167
          = (outEncodingName == null
168
             ? new OutputStreamWriter(outStream)
169
             : new OutputStreamWriter(outStream, outEncodingName));
170
        char[] buffer = new char[2048];
171
        for (;;)
172
          {
173
            int count = in.read(buffer);
174
            if (count < 0)
175
              break;
176
            out.write(buffer, 0, count);
177
          }
178
 
179
        in.close();
180
        out.close();
181
      }
182
    catch (java.io.IOException ex)
183
      {
184
        System.err.print("jv-convert exception: ");
185
        System.err.println(ex);
186
        System.exit(-1);
187
      }
188
  }
189
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.