从System.In读取行而没有结束字符

时间:2014-02-11 22:03:51

标签: java java-io

我正在阅读System.in,我正在使用Scanner类。我的问题是当我使用重定向时,文件中的最后一行没有被读取。我阅读了Scanner.readLine的文档,我猜它是因为它没有“行尾”字符。知道我可以使用什么来代替最后一行吗?

在我的代码输入中是“”。

        Scanner scanner = new Scanner(System.in);
        int sizeOfList = scanner.nextInt();
        ArrayList<Integer> arrayList = new ArrayList<Integer>();
        String input = scanner.nextLine();
        System.out.println(input);
        String[] splitInput = input.split(" |\\n");
        for(int i = 0; i < splitInput.length; i++)
        {
            System.out.println(splitInput[i]);
            arrayList.add(new Integer(Integer.parseInt(splitInput[i])));
        }

1 个答案:

答案 0 :(得分:1)

而不是scanner.nextLine(),您可以使用scanner.next()....这将从扫描仪获得一个字符串,当它没有行尾字符时。

您也可以调用scanner.hasNextLine()来检查您是否已到达您担心的最后一行!