Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

827
Vistas
IntelliJ IDEA: Ejecute java con argumentos desde un archivo externo

Quiero ejecutar una clase Java con argumentos proporcionados como un archivo.

En shell, puedo hacer

 java SomeClass < 1.txt

¿Hay algún equivalente para esto en intellij y/o gradle?

Probé IntelliJ IDEA -> editar configuraciones. Pero, el argumento no se está pasando.

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

ACTUALIZAR :

Esta función ahora está disponible para algunas configuraciones de ejecución/depuración. Por el momento, los tipos admitidos para las configuraciones de ejecución basadas en Java son: Aplicación, Java Scratch, JUnit, JarApplication.

Use la opción Redirigir entrada desde :

Redirigir la entrada de


Respuesta original de 2017 con la solución alternativa:

IntelliJ IDEA no lo admite en este momento:

  • IDEA-88717 No hay forma de configurar la lectura de STDIN desde un archivo en las configuraciones de Ejecutar/Depurar

Puede ajustar el código para que acepte el nombre del archivo como parámetro y lo abra para su lectura. O puede crear una clase contenedora que redefinirá System.in y luego iniciar su clase Main original:

 import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class MainWrapper { public static void main(String[] args) throws IOException { FileInputStream is = new FileInputStream(new File("1.txt")); System.setIn(is); Main.main(args); } }

Asegúrese de especificar la ruta completa al archivo o de cambiar el directorio de trabajo en la configuración de ejecución/depuración de IntelliJ IDEA a la ubicación de 1.txt .

Ahora puede ejecutar la clase MainWrapper en lugar de la clase Main y funcionará igual que ejecutar

 java Main < 1.txt

Si necesita probar con diferentes nombres de archivo, reemplace new File("1.txt") con args[0] y pase el nombre de archivo en el campo de argumentos del programa de configuración de ejecución/depuración de MainWrapper .

about 4 years ago · Santiago Trujillo Denunciar

0

De hecho, puede hacerlo ahora, a partir de la versión 2018.3 :
- Seleccione "Ejecutar/Depurar configuraciones"
- Establezca la ruta al archivo de entrada en el campo "Redirigir entrada desde"

ingrese la descripción de la imagen aquí

about 4 years ago · Santiago Trujillo Denunciar

0

La sintaxis < 1.txt significa que el procesador de comandos garantiza que la entrada estándar ( System.in en Java) proporcione el contenido del archivo 1.txt. El lanzador típico de Java no es compatible con esto.

Puede emular esto reconfigurando manualmente System.in para leer el archivo usando su propio fragmento de código de Java para hacer esto.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda