簡體   English   中英

使用命令行文件輸入從IntelliJ運行程序

[英]Run Program from IntelliJ with Command Line File Input

我正在使用IntelliJ 14.1.15運行OSX 10.11。

我有一個程序,它以一個txt文件作為參數。 我可以通過java SearchCmd test.txt從終端運行它,然后它允許我輸入搜索詞並搜索該列表。

我如何在IntelliJ中執行此操作,以便我可以單擊運行按鈕並讀取文件,我可以在IntelliJ控制台中輸入搜索詞。

主類'SearchCmd'包含main方法,如下:

public class SearchCmd {

public static void main (String[] args) throws IOException {
    String name;

    // Check that a filename has been given as argument
    if (args.length != 1) {
        System.out.println ("Usage: java SearchCmd <datafile>");
        System.exit (1);
    }

    // Read the file and create the linked list
    HTMLlist l = Searcher.readHtmlList (args[0]);
}

但是,當我嘗試運行它時,它會說:“用法:java SearchCmd”。

為了將test.txt文件傳遞給IntelliJ,我在“運行/調試配置”中輸入了文件路徑。 可悲的是我無法附上照片。 :-(

任何有關修復此問題並幫助我從IntelliJ運行它的幫助將不勝感激。

轉到Run - > Edit Configurations ,選擇Application ,然后提供main class名和program arguments 然后Run

在此輸入圖像描述

我剛想通了。

因此,您需要粘貼IntelliJ項目根目錄中的相對路徑,而不是粘貼在絕對路徑中。 最重要的是,你必須省略最初的正斜杠。

所以我的文件的絕對路徑可能是這樣的:Computer / project / TestInput / itcwww-small.txt

但是我需要在Program Arguments中添加的路徑是:TestInput / itcwww-small.txt

我希望這會幫助別人。

我有同樣的問題,並且對此問題的先前答案非常困惑,所以這是我對任何像我一樣迷失的人的解釋。

隨着項目的開放。

運行>編輯配置....

編輯配置

Program Arguments字段中添加文件所在的整個目錄,文件格式在末尾。

在此輸入圖像描述

要采取的步驟 -
1.運行 - >編輯配置。
在此輸入圖像描述

2.選擇應用程序。

在此輸入圖像描述

3.提供主類名和命令行參數並應用。

4.跑

您需要進入菜單Run - > Edit configurations

選擇您的配置並在“ 程序參數 ”字段中添加參數

字段Program參數是在命令行的類名后面出現的。 例如:

java MyMainClass ProgramArgument1 ProgramArgument2 ProgramArgument3

在你的例子中

java SearchCmd test.txt

程序參數是test.txt

注意:使用絕對路徑或檢查工作目錄是否包含文件的目錄

在“程序參數”中添加輸入文件名的相對路徑將允許“main”方法將參數作為“字符串”讀取

配置

但是,為了讓系統理解使用文件中的數據作為標准輸入,我們似乎必須專門讀取文件並將輸入流設置為系統輸入:

    try {
        FileInputStream inputStream = new FileInputStream(new File(args[0]));
        System.setIn(inputStream);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM