[ https://issues.apache.org/jira/browse/GROOVY-8467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16356042#comment-16356042 ]
Jochen Theodorou commented on GROOVY-8467: ------------------------------------------ I might be wrong, but Java readLine swallows any line ending on any platform. I do not have to be on windows to be able to read a text file with windows line endings correctly. I guess the problem is that not knowing if the line ending is \r (Mac) or \r\n (Windows) is a problem, since it requires reading the character after \r and if the stream does not support marking, you cannot go back again. > IOGroovyMethods class readLine method works unexpected in > ----------------------------------------------------------- > > Key: GROOVY-8467 > URL: https://issues.apache.org/jira/browse/GROOVY-8467 > Project: Groovy > Issue Type: Bug > Environment: windows 7 > Reporter: zhuxiaobing > Priority: Major > Attachments: Screenshot from 2018-02-05 13-30-03.png, > groovy_test_linux.zip, groovy_test_win.zip > > > i have a android aapt dump file > i try to read the file use the code below: > > {code:java} > InputStreamReader inputReader = new InputStreamReader(dumpFile) > String line = null > while ((line = inputReader.readLine()) != null){ > println(line) > } > {code} > the dumpfile uses \r\n to start a new line, while the IOGroovyMethods > readLineFromReaderWithoutMark method which called by readLine method is : > {code:java} > private static String readLineFromReaderWithoutMark(Reader input) throws > IOException { > int c = input.read(); > if(c == -1) { > return null; > } else { > StringBuilder line; > for(line = new StringBuilder(expectedLineLength); c != EOF && c != 10 > && c != 13; c = input.read()) { > char ch = (char)c; > line.append(ch); > } > return line.toString(); > } > }{code} > this casues an extra empty line read. -- This message was sent by Atlassian JIRA (v7.6.3#76005)