簡體   English   中英

從System.In讀取行而沒有結束符

[英]Reading lines from System.In without an endline character

我正在從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])));
        }

可以使用scanner.next()代替scanner.nextLine()...。當它沒有行尾字符時,它將從掃描器獲取一個字符串。

您也可以調用scanner.hasNextLine()來檢查是否在擔心的末尾到達了該行!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM