[ 
https://issues.apache.org/jira/browse/IO-335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13778414#comment-13778414
 ] 

Lantao Jin commented on IO-335:
-------------------------------

Thank you. But it reminded me that the same approach to terminated a line in  
java.io.BufferedReader#readline()
/**
     * Reads a line of text.  A line is considered to be terminated by any one
     * of a line feed ('\n'), a carriage return ('\r'), or a carriage return
     * followed immediately by a linefeed.
     * … */
     String readLine(boolean ignoreLF) throws IOException {
             …
Perhaps, Java always regard them as the same. I'd better change my own code to 
adapt to it.
                
> Tailer#readLines - incorrect CR handling
> ----------------------------------------
>
>                 Key: IO-335
>                 URL: https://issues.apache.org/jira/browse/IO-335
>             Project: Commons IO
>          Issue Type: Bug
>            Reporter: Sebb
>            Assignee: Sebb
>             Fix For: 2.4
>
>
> The readLines method checks for CR. If found, it is not stored immediately, 
> but a flag is set.
> If the next char is an LF, the buffer is passed to the listener without the 
> CR.
> As soon as the next non-LF (and non-CR) character is received, the saved CR 
> is written to the buffer.
> The net result is that CR before LF migrates to the start of the next 
> non-empty line, and repeated CRs are collapsed. This is clearly wrong.
> The original code (before IO-274) used RandomAccessFile#readLine() which 
> returns on CR, LF or CRLF.
> It looks as though the intention was to retain this behaviour whilst not 
> blocking.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to