与IDE执行相比,执行jar会产生不同的控制台输出

时间:2016-02-14 11:33:49

标签: java windows file powershell filewriter

我正在使用IntelliJ开发Java大学项目,当我在IDE中运行main函数时,我得到了这个控制台输出:

Console output inside IDE

但是,当我构建一个jar并使用以下命令在Windows PowerShell中执行它时:java -jar myJar.jar arg1 arg2 arg3我得到一个不同的控制台输出:

Console output in Powershell

第二种情况下的输出应该写在文件中,而不是使用此函数的控制台:

private static void writeToFile(String term, int docID, int freq) {
    if(term.matches("[a-zA-Z]+")) { // Contains only letters
        String path = "index//" + term + ".txt";
        try(PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(path, true)))) {
            out.print(docID + "," + freq + " ");
        } catch (IOException e) {
            // Do nothing
        }
    }
}

如何在控制台上打印上述功能的输出而不是仅在Powershell中而不是在IDE内部的文件?我做错了什么我可以改变吗?

PS:第二种情况下输出的最后一个数字由另一个函数产生,这里没有提及,但如果它在文件中则是正常的。

0 个答案:

没有答案