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

标签 java input bufferedreader java.util.scanner piping

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

java program < input.txt

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

java program --file=input.txt

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

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

最佳答案

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

我不明白它应该如何推断文件必须作为管道打开和传递,而不是管道。您可以轻松地将 ScannerFile 一起使用> 争论而不关心任何事情..

public Scanner(File source) throws FileNotFoundException

Constructs a new Scanner that produces values scanned from the specified file. Bytes from the file are converted into characters using the underlying platform's default charset.

关于Java:使用 Scanner 类从文件中读取输入而无需管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3867624/

相关文章:

java - 如何使用Java的BufferedReader和InputStreamReader读取文件?

java - 将文件的内容复制到同一个文件

java - 有没有办法在 JTextArea 中支持真正的回车而不换行?

java - 在Mac终端上使用cmd直接运行.java文件

javascript - 用 js 函数 window.history.back() 添加一个参数

jquery - 使用 html 或 js 在 html 输入中强制小数?面具

HTML 5 浏览器在输入类型为 ="email"时弹出

java - 使用 JAXB 和 Stax 对 XML 文档进行验证

java - XStream:如何在自定义转换器中编码/解码列表?

java - Allure 与多模块测试套件的集成