尝试从命令提示符 运行 一个 Java 程序

Trying to run a Java program from the command prompt

我正尝试通过这样的命令提示符 运行 我的程序

java Analis.arno txts.txt 550

这是我的代码:

static Painter p;
public static void main(String[] args) throws NumberFormatException, Exception {
    p = new Painter(args[0]);
    p.paintModuleStatisticbyAge(null, Integer.parseInt(args[1]), 10, 80);   
}

当我从 "Run config" 运行 它工作时,但从命令提示符,我得到:

FileNOtFoundException

尝试将 txts.txt 文件与 .class 文件放在同一目录中

ProjectRoot
       bin
          Analis
               txts.txt
               arno.class
       src

FileNotFound 异常意味着您作为 arg[0] 传递的文件,"txts.txt" 不可用。

理想情况下,文件应该存在于您启动程序的目录中,或者您应该传递文件的完整路径。

ROOT
  src
   Analis
     arno.java       
  bin 
   txts.txt
   Analis
     arno.class

您应该从 Root/bin 开始,经过 java Analis.arno txts.txt

如果程序和文本文件不在同一目录中,您将需要明确传递文件路径。

尝试:

java Analis.arno path/to/txts.txt 550

因此,当您从 Eclipse 中的 运行 配置中 运行 时,相对路径从您的项目文件夹开始,但是对于 jar 文件,您的路径从 jar 文件所在的目录开始.

让我们假设这个结构:

当您从 Eclipse 运行 时,您的基本目录将为 tmp。但是,如果您转到 tmp\out 和 运行 java Analis.arno txts.txt 550 的命令行,您的基本目录将是 tmp\out 而不是 tmp.