2017-03-17 87 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運行/調試配置程序參數字段。

相關問題