On 04/01/2015 20:29, Claes Redestad wrote:
For the record I would be very happy to update the implementation to use
System.lineSeparator() in PrintWriter/BufferedWriter rather than reading
line.separator, thus removing the unspecified behavior to be able to
hack the
current implementation via manipulating system properties. This might
break
some applications, but, as you imply, any such use case might already be
better accommodated by overriding the PrintWriter#println/printf/format
methods.
How about closing this bug as WNF and filing a new RFE to remove the
PrintWriter/BufferedWriter constructor dependencies on line.separator?
I don't think it make sense to change the line.seperator property in the
main method or on the fly. The right thing it is to override the newLine
method as Sherman suggested. So if these constructors are changed to use
System.lineSeperator() and we document this behavior change in release
notes then it seems reasonable for a major release (not for 8uX of course).
For printf/format/Formatter then having %n result in a call to newLine()
has some appeal. It's doable in Formatter but would require a spec change.
-Alan