该程序一次从命令行获取一个文件并执行它。
Scanner scan = new Scanner(System.in);
while(scan.hasNextLine())
{
fileName = scan.nextLine();
File xmlFile = new File(fileName);
// Do SOMETHING with xmlFile
}
基本上,除非用户执行
CTRL+D
,否则我想从命令行获取文件列表。我该如何更改?
最佳答案
使用扫描程序的替代方法是使用流:
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
Stream lines = br.lines();
Consumer processFile = new Consumer() {
public void accept(Object o) {
File xmlFile = new File(o.toString());
// Do SOMETHING with xmlFile
}
};
lines.forEach(processFile);
Ctrl + D是流的结尾,因此它只会使您跳出循环。