从文件读取而不是打印到输出

时间:2016-04-05 12:58:02

标签: java

有没有人能够告诉我为什么这段代码没有打印到输出?我没有收到任何错误,但它只是不打印。它是从.txt文件中读取的(在下面的代码下面)。

代码:

public class ReadFromFile {

    public static void main(String[] args) throws FileNotFoundException {
        File file = new File("CarInfo.txt");

        try (Scanner sc = new Scanner(file)) {
            while (sc.hasNext()) {
                String carTab = sc.next();
                // Looking for tag 'Station:'
                if (!carTab.equals("Car:")) continue;

                if (!sc.hasNext()) {
                    break;
                }

                Car = sc.next();
                if (!sc.hasNextInt()) {
                    continue;
                }
                int x = sc.nextInt();
                if (!sc.hasNextInt()) {
                    continue;
                }
                int y = sc.nextInt();
                System.out.println(car + " " + x + " " + y);
            }

        } catch (FileNotFoundException e) {
            System.out.println("File not found");
        }
    }     
}

1 个答案:

答案 0 :(得分:0)

使用nextLine()而不是next()。 nextLine()可以使用回车

next()可能会在等待输入扫描时阻塞,即使之前的hasNext()调用返回true也是如此。

每次调用nextInt()时,它只读取数字,并且在数字后不会消耗任何内容