2017-03-17 176 views

回答

0

< 1.txt语法表示命令处理器确保标准输入(Java中的System.in)提供了1.txt文件的内容。典型的Java启动器不支持这一点。

您可以通过手动重新登录System.in来使用您自己的Java代码段从文件中读取来模拟此操作。

4

IntelliJ IDEA的并不目前支持:

  • IDEA-88717没有办法配置STDIN从运行/调试配置文件读取

您可以调整代码,以便它接受文件名作为参数并将其打开以供阅读。或者你可以创建一个包装类,将重新定义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 

如果需要使用不同的文件名进行测试,以args[0]取代new File("1.txt")和传递文件名MainWrapper运行/调试配置程序参数字段。

相关问题