Java:使用Scanner类从文件读取输入而不管道

时间:2010-10-05 20:52:09

标签: java input bufferedreader java.util.scanner piping

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

  

java program< input.txt中

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

  

java program --file = input.txt

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

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

1 个答案:

答案 0 :(得分:1)

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

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

public Scanner(File source) throws FileNotFoundException
  

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