Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

831
Visualizações
IntelliJ IDEA: Run java with args from external file

I want to run a java class with args supplied as a file.

On shell, i can do

    java SomeClass < 1.txt

Is there any equivalent for this on intellij and/or gradle.

I tried on IntelliJ IDEA -> edit configurations. But, the argument is not getting passed.

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

UPDATE:

This feature is now available for some Run/Debug configurations. At the moment supported types for Java-based run configurations are: Application, Java Scratch, JUnit, JarApplication.

Use the Redirect input from option:

Redirect input from


Original answer from 2017 with the workaround:

IntelliJ IDEA doesn't support it at the moment:

  • IDEA-88717 No way to configure STDIN reading from a file at Run/Debug configurations

You can adjust the code so that it accepts the file name as a parameter and opens it for reading. Or you can create a wrapper class that will redefine System.in, then start your original Main class:

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);
  }
}

Make sure to either specify the full path to the file or to change the working directory in IntelliJ IDEA Run/Debug configuration to the location of 1.txt.

Now you can run MainWrapper class instead of the Main class and it will work the same as running

java Main < 1.txt

If you need to test with different file names, replace new File("1.txt") with args[0] and pass the file name in the MainWrapper Run/Debug configuration Program arguments field.

about 4 years ago · Santiago Trujillo Relatório

0

You can actually do that now, starting from version 2018.3:
- Select "Run/Debug configurations"
- Set path to input file at "Redirect input from" field

enter image description here

about 4 years ago · Santiago Trujillo Relatório

0

The < 1.txt syntax mean that the command processor ensures that standard input (System.in in Java) provides the contents of the 1.txt file. The typical Java launcher do not support this.

You can emulate this by manually rewire System.in to read from the file using your own Java snippet to do this.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda