Передача аргумента Unicode командной строки в код Java

Я должен передать аргумент командной строки, который является японским, в основной метод Java. Если я введу символы Unicode в окне командной строки, отобразится «?????» что нормально, но значение, переданное в java-программу, тоже «?????». Как мне получить правильное значение аргумента, переданного командным окном? Ниже приведен пример программы, которая записывает в файл значение, указанное в аргументе командной строки.

public static void main(String[] args) {
        String input = args[0];
        try {
            String filePath = "C:/Temp/abc.txt";
            File file = new File(filePath);
            OutputStream out = new FileOutputStream(file);
            byte buf[] = new byte[1024];
            int len;
            InputStream is = new ByteArrayInputStream(input.getBytes());
            while ((len = is.read(buf)) > 0) {
                out.write(buf, 0, len);
            }
            out.close();
            is.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
14
задан Buhake Sindi 5 October 2011 в 11:42
поделиться