如何使用 java 程序 < "filename" 到达输入文件?
How to reach the input file using java program < "filename"?
我正在做一项作业,我应该在其中处理一个文件。测试人员使用命令参数
"java puzzle < sample_input_1.txt"
到 运行 文件和我的程序。我的程序是 "puzzle",文件是 "sample_input_1.txt"。
我搜索了一下,但不太确定如何从此文件中检索数据。我习惯于将文件路径作为 main 的参数,我使用扫描仪来读取它。
编程和检索数据时如何访问该文件?我想做一些像扫描仪一样的事情来阅读它。
谢谢大家!
它在标准输入流 (System.in) 中出现。命令末尾的 < sample_input_1.txt
将标准输入流重定向到给定文件。它几乎存在于每个终端程序中。可以找到更多信息 here.
它在您的标准输入流中。澄清一下,如果您习惯于使用接受 File 的 Scanner 构造函数(像这样):
Scanner scanner = new Scanner(new File(args[0]));
然后使用接受 InputStream 的 Scanner 的构造函数,并传递 System.in:
Scanner scanner = new Scanner(System.in);
之后您应该能够按照您习惯的方式使用扫描仪。
在我看来,最简单的方法是使用 InputStream:
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String word;
do {
word = br.readLine();
if (word != null) {
list.add(word); //if you want add the file content to an ArrayList
} else {
return; //case file is empty, program is finished
}
} while (word != null);
} catch (Exception e) {
System.err.println("Error:" + e.getMessage());
}
我正在做一项作业,我应该在其中处理一个文件。测试人员使用命令参数
"java puzzle < sample_input_1.txt"
到 运行 文件和我的程序。我的程序是 "puzzle",文件是 "sample_input_1.txt"。
我搜索了一下,但不太确定如何从此文件中检索数据。我习惯于将文件路径作为 main 的参数,我使用扫描仪来读取它。
编程和检索数据时如何访问该文件?我想做一些像扫描仪一样的事情来阅读它。
谢谢大家!
它在标准输入流 (System.in) 中出现。命令末尾的 < sample_input_1.txt
将标准输入流重定向到给定文件。它几乎存在于每个终端程序中。可以找到更多信息 here.
它在您的标准输入流中。澄清一下,如果您习惯于使用接受 File 的 Scanner 构造函数(像这样):
Scanner scanner = new Scanner(new File(args[0]));
然后使用接受 InputStream 的 Scanner 的构造函数,并传递 System.in:
Scanner scanner = new Scanner(System.in);
之后您应该能够按照您习惯的方式使用扫描仪。
在我看来,最简单的方法是使用 InputStream:
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String word;
do {
word = br.readLine();
if (word != null) {
list.add(word); //if you want add the file content to an ArrayList
} else {
return; //case file is empty, program is finished
}
} while (word != null);
} catch (Exception e) {
System.err.println("Error:" + e.getMessage());
}