运行java时如何从文本文件中读取参数

运行java时如何从文本文件中读取参数,java,file,arguments,Java,File,Arguments,我有下面的代码 public class prob01 { public static void main (String arg[]) { System.out.println(arg[0]); } } 我在同一目录中有一个文本文件prob01.txt,其中包含:StackOverflow StackExchange 当我将参数设置为prob01.txt时,如何从上述代码中获得StackOverflow输出,如下所示:我不想修改java代码,dos必须负责解析

我有下面的代码

public class prob01 {
    public static void main (String arg[]) {
        System.out.println(arg[0]);
    }
}
我在同一目录中有一个文本文件prob01.txt,其中包含:StackOverflow StackExchange


当我将参数设置为prob01.txt时,如何从上述代码中获得StackOverflow输出,如下所示:我不想修改java代码,dos必须负责解析文件并将内容作为参数发送

C:\> javac prob01.java
C:\> java -cp . prob01 < prob01.txt

您需要在java代码中使用Reader来读取文件的内容。

我不想修改java代码-您必须这样做。显示的命令将文件内容作为标准输入提供,而不是作为命令行参数提供。我认为Windows命令shell中没有任何东西可以读取文件并将其内容用作另一个命令的命令行参数。我们不必<重定向吗?同样,这会将文件文本重定向到标准输入,而不是命令行参数。因此,如果您从System.in读取,您将获得内容。您应该能够通过谷歌搜索正确的dos批处理文件命令,从文本文件中读取环境变量,然后使用这些变量作为命令行参数运行某些程序。我在运行Linux时,请参阅从文件中输入变量。和java-cp。prob01%input%以%input%作为参数运行Java?我不确定这是否有效…我不想修改代码。只能在cmd提示符下进行分析