gpt4 book ai didi

java - 在终端中使用文件作为 Java 程序的参数

转载 作者:行者123 更新时间:2023-12-01 11:07:40 26 4
gpt4 key购买 nike

java someJavaProgram fsa.fsa <test.txt

显然,这是一个合法的命令,可以将两个文件作为终端中 Java 程序的参数 - 一个读取,然后另一个(我认为这个想法是将输出打印到终端直接地)。 someJavaProgram、fsa.fsa 和 test.txt 都是同一目录中的文件(someProject/src 和默认包中的 someJavaProgram)。

但是,我在终端中得到的响应只是说:

FSA file not found - please scan in the appropriate file.
Testing file not found, please scan in the new relevant file.

我的问题有两个:

  • 这个命令是什么以及它的用途是什么?
  • 是否需要完善或修改,或者程序是否需要改进?

我应该注意,我是在 Eclipse 中编写代码的,只是将文件路径硬编码到程序中。我不确定这是否会影响任何事情,但它是相关的。

编辑:文件路径和相关代码如下:

private static final String FILE_PATH = "src/test.txt";
private static final String FSA_PATH = "src/fsa1.fsa";
...
public static void main(String[] args) throws FileNotFoundException {
interpretAutomaton();
testAutomaton();
}
...
interpretAutomaton() {
...
Scanner fsaScanner = new Scanner(new BufferedReader(new FileReader(FSA_PATH)));
...
testAutomaton() {
...
Scanner fileScanner = new Scanner(new BufferedReader(new FileReader(FILE_PATH)));

*两者都被 try/catch block 包围 - 这显然有效!

感谢任何可以帮助澄清此事的人!

最佳答案

根据目前的评论,回答您的实际问题:

1) 该命令有四个元素:

  • java - 执行java程序
  • someJavaProgram - 要执行的 Java 类的名称
  • fsa.fsa - java 程序的第一个参数,可通过 argv[] 访问
  • <test.txt - 标准输入重定向,文件的内容将在程序的标准输入上可用,即。 System.in

最终效果是使用一个参数和标准输入上的一个文件内容来运行 Java 程序。

2)命令行和程序看起来都需要更改:

  • 将命令行更改为:

    java someJavaProgram fsa.fsa test.txt

即删除 < 。您还需要检查文件的路径是否正确。该命令行假定执行时您与文件位于同一目录中。

  • 更改代码以在命令行上使用文件名而不是硬编码名称。

关于java - 在终端中使用文件作为 Java 程序的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32772777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com