IntelliJ IDEA:使用外部文件中的 args 运行 java
2022-09-02 12:13:15
我想运行一个java类,其中的args作为文件提供。
在壳上,我可以做
java SomeClass < 1.txt
在intellij和/或gradle上是否有任何等效项。
我尝试了IntelliJ IDEA ->编辑配置。但是,这个论点没有通过。
我想运行一个java类,其中的args作为文件提供。
在壳上,我可以做
java SomeClass < 1.txt
在intellij和/或gradle上是否有任何等效项。
我尝试了IntelliJ IDEA ->编辑配置。但是,这个论点没有通过。
更新:
此功能现在可用于某些运行/调试配置。目前,基于Java的运行配置支持的类型是:Application,Java Scratch,JUnit,JarApplication。
使用重定向输入自选项:
2017 年的原始答案和解决方法:
IntelliJ IDEA目前不支持它:
您可以调整代码,使其接受文件名作为参数并打开它进行读取。或者,您可以创建一个将重新定义的包装类,然后启动原始类:System.in
Main
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);
}
}
确保指定文件的完整路径,或将 IntelliJ IDEA 运行/调试配置中的工作目录更改为 的位置。1.txt
现在,您可以运行类而不是类,它将与运行相同MainWrapper
Main
java Main < 1.txt
如果需要使用不同的文件名进行测试,请在“运行/调试配置程序参数”字段中替换并传递文件名。new File("1.txt")
args[0]
MainWrapper