该程序一次从命令行获取一个文件并执行它。

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是流的结尾,因此它只会使您跳出循环。

09-25 22:30
查看更多