Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8228579

BufferedReader readLine() implementation does not match javadoc

    Details

    • Subcomponent:
    • CPU:
      x86
    • OS:
      os_x

      Description

      ADDITIONAL SYSTEM INFORMATION :
      This also seems to be broken in version 11

      A DESCRIPTION OF THE PROBLEM :
      https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/io/BufferedReader.html#readLine()
      states:
      Reads a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), a carriage return followed immediately by a line feed, or by reaching the end-of-file (EOF).

      However, a line terminated by EOF (without a line feed or carriage return) is not returned and the text is simply lost when readLine returns null.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Read the lines of a file with the BufferedReader readLines method (alternatively use the lines() stream)

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      All lines up until EOF as specified by javadoc should be returned
      ACTUAL -
      Only lines terminated by line feed or carriage return are returned (as per previous versions' javadoc)

        Attachments

        1. demo.txt
          0.0 kB
        2. OutputFile.java
          0.3 kB

          Activity

            People

            • Assignee:
              psonal Pallavi Sonal (Inactive)
              Reporter:
              webbuggrp Webbug Group
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: