0

我目前有一个程序的实现,我使用 Scanner 类读取输入。一个整数一个整数。我通过命令行通过管道输入文件来做到这一点。

java程序<输入.txt

我需要通过在命令行上使用参数来在我的程序中打开文件来避免管道输入。

java程序--file=input.txt

或类似的东西。我知道我可以解析命令行参数,提取文本“input.txt”,然后使用“BufferedReader”之类的类或类似的东西来读取文件。

我只是好奇是否可以使用输入文件(没有管道)并且仍然使用 Scanner 类。这意味着我不必更改我的 nextInt() 和其他此类调用。

4

1 回答 1

1

由于参数没有被评估而是传递给您的main(String[] args)方法,中间没有任何工作,您唯一的选择是解析参数,提取文件名input.txt并将其作为普通文件流打开。

我看不出它应该如何推断必须打开文件并将其作为管道传递而不是管道..您可以轻松地使用Scanner参数File而无需担心任何事情..

public Scanner(File source) throws FileNotFoundException

构造一个新的 Scanner,它产生从指定文件扫描的值。使用底层平台的默认字符集将文件中的字节转换为字符。

于 2010-10-05T20:56:38.320 回答