Java - tamaño args

 
Vista:
sin imagen de perfil
Val: 11
Ha disminuido su posición en 25 puestos en Java (en relación al último mes)
Gráfica de Java

tamaño args

Publicado por Pedro Javier (14 intervenciones) el 29/05/2019 20:32:17
Buenas noches, mi pregunta es la siguiente:
Creo un programa que recibe un argumento desde teclado. Es una cadena bastante larga.
Me da un problema que no esperaba y es que no coge la cadena completa.
Hay algún límite de tamaño para los argumentos desde teclado?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

tamaño args

Publicado por Kabuto (1381 intervenciones) el 29/05/2019 21:22:51
Depende del S.O..
Creo que de Windows XP en adelante, hasta Windows 8.1 (y probablemente Windows 10) había un límite de 8191 caracteres.

Para entornos Linux/Unix desconozco este dato.

¿Tu cadena ronda esos 8000 y pico caracteres?

No se en qué consiste tu programa, pero puedes estudiar la posibilidad de hacer que recoga esa cadena desde un fichero de texto y por argumentos tan solo tengas que proporcionarle la ruta de ese fichero.


Supongo que el problema te viene por limitaciones de la consola del S.O.. La clase String también tiene un límite de caracteres, pero es enorme. Creo que es el valor de un int de 32 bits.
Algo así como --> 2^32 = ‭2.147.483.648‬
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 25 puestos en Java (en relación al último mes)
Gráfica de Java

tamaño args

Publicado por Pedro (14 intervenciones) el 29/05/2019 22:45:48
Gracias por la respuesta.
El programa es en Ubuntu y la cadena de unos 2^12. Unos 4096 caracteres. Así que supongo que será esa restricción. Muchas gracias, lo pasaré desde fichero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

tamaño args

Publicado por Kabuto (1381 intervenciones) el 30/05/2019 19:45:11
Por este enlace se comenta como conocer ese dato y, aunque hay disparidad de interpretaciones, en cualquier caso parece que debería ser bastante superior a esos 4096 caracteres, algo así como 131072

Por otro lado, ahora que lo pienso puede que el límite que te afecta no sea el del S.O., sino de la propia JVM a la hora de aceptar argumentos.

Pero no lo se, esto va más allá de mis escasos conocimientos.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar