On Mon, Nov 9, 2009 at 21:54, Mark Reinhold <m...@sun.com> wrote: > > Date: Mon, 09 Nov 2009 20:29:51 -0800 > > From: Martin Buchholz <marti...@google.com> > > > ... > > > > Since line.separator is the most popular system property, > > and other system properties like > > java.home have vague security implications > > that would suggest they must be protected by > > a security manager, we might consider just > > making the one system property available. > > Perhaps very simply > > > > String System.lineSeparator()? > > This seems like a much better solution than adding a whole static inner > class to java.lang.System. > > Yet ... how much of a problem is this outside of the JDK itself and, > more generally, for new code rather than old? > > If there are n (for n <= 43) problematic uses in the JDK then we could > just fix those without defining any new public API. For new code we > should encourage people to use String.format("...%n...") rather than > access the line.separator property explicitly. >
Hacking on Formatter is how I got here. String.format("%n")" is both at risk of throwing SecurityException (because Formatter does not use doPrivileged; my proposal here is a step to fixing that) and is rather slow. Too slow for performance-sensitive uses. Martin