我正在做一项我应该使用文件的作业。测试人员使用命令参数
" java puzzle< sample_input_1.txt"
使用我的程序运行该文件。我的节目是"拼图"并且文件是" sample_input_1.txt"。
我一直在搜索,但我不太确定如何从此文件中检索数据。我曾经把文件路径作为main的参数,我用扫描仪来读取。
如何在编程和检索数据时访问此文件?我想做一些像扫描仪读取它的东西。
谢谢你们!
答案 0 :(得分:1)
它在您的标准输入流上。为了澄清,如果您习惯使用接受文件的Scanner构造函数(如下所示):
Scanner scanner = new Scanner(new File(args[0]));
然后使用接受InputStream的Scanner的构造函数,并传递System.in:
Scanner scanner = new Scanner(System.in);
您应该能够以与之后习惯相同的方式使用扫描仪。
答案 1 :(得分:0)
它来自stdin流(System.in)。命令末尾的< sample_input_1.txt
将stdin流重定向到给定文件。它几乎存在于每个终端程序中。可以找到更多信息here。
答案 2 :(得分:0)
在我看来,最简单的方法是使用 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());
}