Мне нужно передать аргумент командной строки, который является основным для японского языка 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();
}
}