我想運行一個java類,並將args作爲文件提供。IntelliJ IDEA:使用外部文件中的參數運行java
殼牌,我可以做
java SomeClass < 1.txt
是否有相當於該上的IntelliJ和/或gradle這個。
我嘗試了IntelliJ IDEA - >編輯配置。但是,爭論並沒有得到通過。
我想運行一個java類,並將args作爲文件提供。IntelliJ IDEA:使用外部文件中的參數運行java
殼牌,我可以做
java SomeClass < 1.txt
是否有相當於該上的IntelliJ和/或gradle這個。
我嘗試了IntelliJ IDEA - >編輯配置。但是,爭論並沒有得到通過。
< 1.txt
語法表示命令處理器確保標準輸入(Java中的System.in
)提供了1.txt文件的內容。典型的Java啓動器不支持這一點。
您可以通過手動重新登錄System.in
來使用您自己的Java代碼段從文件中讀取來模擬此操作。
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
如果需要使用不同的文件名進行測試,以args[0]
取代new File("1.txt")
和傳遞文件名MainWrapper
運行/調試配置程序參數字段。