Tengo que pasar el argumento de la línea de comando que es el método principal de Java a Java. Si escribo caracteres Unicode en la ventana de línea de comandos, aparece '?????' lo cual está bien, pero el valor pasado al programa java también es '?????'. ¿Cómo obtengo el valor correcto del argumento pasado por la ventana de comandos? A continuación se muestra un programa de ejemplo que escribe en un archivo el valor proporcionado por el argumento de línea de comando.Pasando la línea de comando argumento unicode al código 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();
}
}
¿Cambia cuando cambiar el juego de caracteres de la ventana de la consola? ¿Qué sistema operativo? – Andreas
Cambiar el juego de caracteres de la ventana de la consola no ayuda. Estoy usando Windows 2000 –