native2ascii.java

来自「kaffe Java 解释器语言,源码,Java的子集系统,开放源代码」· Java 代码 · 共 87 行

JAVA
87
字号
/* * Java core library component. * * Copyright (c) 2003 *      Ito Kazumitsu <kaz@maczuka.gcd.org>.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution * of this file. */package kaffe.tools.native2ascii;import java.io.*;public class Native2ASCII {    public static void main(String[] args) {        String encoding = System.getProperty("file.encoding");        String input = null;        String output = null;        for (int i=0; i<args.length; i++) {            if(args[i].equals("-encoding")) {                i++;                if (i >= args.length) {                    System.err.println("encoding is missing");                }                else {                    encoding = args[i];                }            }            else if (args[i].equals("-reverse") || args[i].startsWith("-J")) {                System.err.println(args[i] + ": not supported");            }            else {                if (input == null) {                    input = args[i];                }                else if (output == null) {                    output = args[i];                }                else {                    System.err.println(args[i] + ": ignored");                }            }        }        try {            InputStream is = (input == null ?                System.in :                new FileInputStream(input));            OutputStream os = (output == null ?                (OutputStream)System.out :                new FileOutputStream(output));            BufferedReader rdr =                new BufferedReader(                    new InputStreamReader(is, encoding));            PrintWriter wtr =                new PrintWriter(                    new BufferedWriter(                        new OutputStreamWriter(os, encoding)));            while (true) {                String s = rdr.readLine();                if (s == null) break;                StringBuffer sb = new StringBuffer(s.length() + 80);                for (int i = 0; i < s.length(); i++) {                    char c = s.charAt(i);                    if (c <= 0xff) {                        sb.append(c);                    }                    else {                        sb.append("\\u" + Integer.toHexString((int)c));                    }                }                wtr.println(sb.toString());            }            rdr.close();            wtr.flush();            wtr.close();        }        catch (Exception e) {            e.printStackTrace();        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?